Restarted venv (Python 3.9.13)
In [ ]:
import numpy as np
import pandas as pd
from sklearn.metrics import mutual_info_score
from sklearn.feature_selection import mutual_info_regression
import dcor
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import accuracy_score
import copy
import datetime
import scipy.stats as stats
import matplotlib.pyplot as plt
import scipy.stats as stats
from scipy.stats import mannwhitneyu, ttest_ind
import warnings
import ast
# Suppress all DeprecationWarnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
# Function to generate the dataset with a fixed random seed
def generate_dataset(strength_of_noise, n_samples=10000, random_seed=None):
# Fix the random seed if provided
if random_seed is not None:
np.random.seed(random_seed)
# Generate 7 independent noise features from standard normal distribution
independent_features = np.random.normal(0, 1, (n_samples, 7))
# Generate the two independent dependent features: 'local trigger' and 'slope'
local_trigger = np.random.normal(0, 1, n_samples)
slope = np.random.normal(0, 1, n_samples)
# Generate the third dependent feature based on 'local trigger' and 'slope'
third_feature = np.where(local_trigger < 0,
np.random.normal(0, 1, n_samples),
slope + strength_of_noise * np.random.normal(0, 1, n_samples))
# Normalize the third feature (subtract mean and divide by standard deviation)
third_feature = (third_feature - np.mean(third_feature)) / np.std(third_feature)
# Stack all features together (7 independent + 3 dependent)
dependent_features = np.column_stack((local_trigger, slope, third_feature))
dataset = np.column_stack((independent_features, dependent_features))
return dataset
# Example of generating the dataset with a specific strength of noise and random seed
# dataset = generate_dataset(strength_of_noise=1.0, random_seed=42)
# print(dataset.shape) # Output: (10000, 10)
# Function to calculate Pearson correlation
def pearson_correlation(dataset):
corr_matrix = np.corrcoef(dataset, rowvar=False)
return np.abs(corr_matrix)
# Function to calculate Mutual Information between pairs of features
def mutual_information(dataset):
n_features = dataset.shape[1]
mi_scores = np.zeros((n_features, n_features))
# Calculate mutual information for each pair of features
for i in range(n_features):
for j in range(i+1, n_features):
mi_scores[i, j] = mutual_info_regression(dataset[:, i].reshape(-1, 1), dataset[:, j])
mi_scores[j, i] = mi_scores[i, j] # Symmetry
return mi_scores
# Function to calculate Correlation of Distances (using dcor) between pairs of features
def correlation_of_distances(dataset):
n_features = dataset.shape[1]
dcor_scores = np.zeros((n_features, n_features))
# Calculate distance correlation for each pair of features
for i in range(n_features):
for j in range(i+1, n_features):
dcor_scores[i, j] = dcor.distance_correlation(dataset[:, i], dataset[:, j])
dcor_scores[j, i] = dcor_scores[i, j] # Symmetry
return dcor_scores
# Function to run competitor methods on the dataset
def competitor_methods(dataset):
pearson_corr = pearson_correlation(dataset)
mi_scores = mutual_information(dataset)
dcor_scores = correlation_of_distances(dataset)
return {
"Pearson Correlation (abs)": pearson_corr,
"Mutual Information": mi_scores,
"Distance Correlation": dcor_scores
}
# Function to implement the proposed method with empirical distribution-based synthetic data generation
def proposed_method(dataset, random_seed=None):
# Fix the random seed if provided
if random_seed is not None:
np.random.seed(random_seed)
# Generate synthetic dataset by sampling from the empirical distribution of each feature in the original dataset
synthetic_dataset = np.zeros_like(dataset)
for i in range(dataset.shape[1]):
synthetic_dataset[:, i] = np.random.choice(dataset[:, i], size=dataset.shape[0], replace=True)
# Create labels for original (1) and synthetic (0) data
labels = np.concatenate([np.ones(dataset.shape[0]), np.zeros(synthetic_dataset.shape[0])])
# Combine original and synthetic datasets
combined_data = np.vstack([dataset, synthetic_dataset])
# Define the Random Forest classifier and hyperparameter grid, including random seed for the classifier
rf = RandomForestClassifier(random_state=random_seed)
param_grid = {
'n_estimators': [100],
'max_depth': [None, 10, 20],
'min_samples_split': [2, 5, 10]
}
# Perform grid search to find the best hyperparameters
grid_search = GridSearchCV(rf, param_grid, cv=5, scoring='accuracy', n_jobs=-1)
grid_search.fit(combined_data, labels)
# Get the best model from the grid search
best_rf = grid_search.best_estimator_
# Predict on the training data
predictions = best_rf.predict(combined_data)
# Calculate accuracy
accuracy = accuracy_score(labels, predictions)
# Get feature importances
feature_importances = best_rf.feature_importances_
return accuracy, feature_importances, best_rf
# Helper function to flatten DataFrame
def _flatten_df(df_input):
df = copy.deepcopy(df_input)
data = df.values
np.fill_diagonal(data, np.nan)
df = pd.DataFrame(data)
flattened_df = df.reset_index().melt(id_vars='index', var_name='Column', value_name='Value')
flattened_df.rename(columns={'index': 'feature_1', 'Column': 'feature_2'}, inplace=True)
flattened_df = flattened_df.dropna(axis=0)
return flattened_df
# Helper function to get statistics of independent features
def _get_statistic_of_independent_features(df_input):
df = copy.deepcopy(df_input)
df = df[(df['feature_1'] < 7) | (df['feature_2'] < 7)]
return df["Value"].mean(), df["Value"].min(), df["Value"].max()
# Helper function to get statistics of dependent features
def _get_statistic_of_dependent_features(df_input):
df = copy.deepcopy(df_input)
df = df[df['feature_1'] >= 7]
df = df[df['feature_2'] >= 7]
return df["Value"].mean(), df["Value"].min(), df["Value"].max()
# Helper function to get top 3 features from competitors
def _get_top3_features_competitors(df_input):
df = copy.deepcopy(df_input)
df = df.sort_values("Value", ascending=True)
df = df.tail(6)
result = df["feature_1"].values.tolist() + df["feature_2"].values.tolist()
result = sorted(list(set(result)))
return result
################################################################################
# Main code to generate statistics
################################################################################
statistics = []
n=100
for strength_of_noise in [0.01, 0.1, 1, 10]:
for iteration in range(n):
start_time = datetime.datetime.now()
dataset = generate_dataset(strength_of_noise=strength_of_noise, random_seed=42+iteration)
competitor_results = competitor_methods(dataset)
# Calculate statistics for each competitor method
for alias in ["Pearson Correlation (abs)", "Mutual Information", "Distance Correlation"]:
e = {"strength_of_noise": strength_of_noise}
df = pd.DataFrame(competitor_results[alias])
if alias == "Pearson Correlation (abs)":
df = df.abs()
df = _flatten_df(df)
e["iteration"] = iteration
e["Method"] = alias.replace(" ", "_")
e["avg_independent_features_statistics"], e["min_independent_features_statistics"], e["max_independent_features_statistics"] = _get_statistic_of_independent_features(df)
e["avg_dependent_features_statistics"], e["min_dependent_features_statistics"], e["max_dependent_features_statistics"] = _get_statistic_of_dependent_features(df)
e["top3_selected_features"] = _get_top3_features_competitors(df)
statistics.append(e)
# Calculate statistics for the proposed method
accuracy, feature_importances, best_rf = proposed_method(dataset, random_seed=42)
df = pd.DataFrame(feature_importances, columns=["Value"])
df = df.sort_values("Value", ascending=True)
df = df.reset_index()
proposed_method_independent_features_statistics_avg = df[df["index"] < 7]["Value"].mean()
proposed_method_dependent_features_statistics_avg = df[df["index"] >= 7]["Value"].mean()
proposed_method_independent_features_statistics_min = df[df["index"] < 7]["Value"].min()
proposed_method_dependent_features_statistics_min = df[df["index"] >= 7]["Value"].min()
proposed_method_independent_features_statistics_max = df[df["index"] < 7]["Value"].max()
proposed_method_dependent_features_statistics_max = df[df["index"] >= 7]["Value"].max()
proposed_method_top3_selected_features = str(sorted(df.tail(3)["index"].values.tolist()))
e = {"strength_of_noise": strength_of_noise}
e["iteration"] = iteration
e["Method"] = "Proposed_Method"
e["avg_independent_features_statistics"] = proposed_method_independent_features_statistics_avg
e["avg_dependent_features_statistics"] = proposed_method_dependent_features_statistics_avg
e["min_independent_features_statistics"] = proposed_method_independent_features_statistics_min
e["min_dependent_features_statistics"] = proposed_method_dependent_features_statistics_min
e["max_independent_features_statistics"] = proposed_method_independent_features_statistics_max
e["max_dependent_features_statistics"] = proposed_method_dependent_features_statistics_max
e["top3_selected_features"] = proposed_method_top3_selected_features
statistics.append(e)
finish_time = datetime.datetime.now()
print(f"{strength_of_noise} - {iteration} - Time taken: {finish_time - start_time}")
# Convert statistics to DataFrame and calculate additional statistics
statistics_df = pd.DataFrame(statistics)
statistics_df["independent_vs_dependent_avg_statistics_diff_%"] = (statistics_df["avg_dependent_features_statistics"] - statistics_df["avg_independent_features_statistics"]) / statistics_df["avg_independent_features_statistics"] *100
statistics_df["independent_vs_dependent_avg_statistics_diff_%"] = statistics_df["independent_vs_dependent_avg_statistics_diff_%"].round(2)
# print()
# print("========================================")
# print(f"Statistics")
# print("========================================")
# print(statistics_df.to_string())
# print()
statistics_df.to_csv("statistics.csv", index=False)
################################################################################
# Calculate accuracy, sensitivity, precision, and recall for top3_selected_features
################################################################################
accuracy_results = []
for strength_of_noise in statistics_df["strength_of_noise"].unique():
for method in statistics_df["Method"].unique():
subset = statistics_df[(statistics_df["strength_of_noise"] == strength_of_noise) & (statistics_df["Method"] == method)]
true_positive = 0
false_positive = 0
false_negative = 0
true_negative = 0
for index, row in subset.iterrows():
top3_features = row["top3_selected_features"]
if isinstance(top3_features, str):
top3_features = ast.literal_eval(top3_features)
elif isinstance(top3_features, list):
top3_features = top3_features
else:
raise ValueError("top3_selected_features is not a list or a string")
true_positives = len([feature for feature in top3_features if feature in [7, 8, 9]])
false_positives = len([feature for feature in top3_features if feature not in [7, 8, 9]])
false_negatives = 3 - true_positives
true_negatives = 0 # Since we are only considering top 3 features, true negatives are not applicable here
true_positive += true_positives
false_positive += false_positives
false_negative += false_negatives
accuracy = true_positive / (true_positive + false_positive + false_negative) if (true_positive + false_positive + false_negative) > 0 else 0
recall = true_positive / (true_positive + false_negative) if (true_positive + false_negative) > 0 else 0
precision = true_positive / (true_positive + false_positive) if (true_positive + false_positive) > 0 else 0
accuracy_results.append({
"strength_of_noise": strength_of_noise,
"Method": method,
"accuracy": accuracy,
"precision": precision,
"recall": recall
})
accuracy_df = pd.DataFrame(accuracy_results)
accuracy_df = accuracy_df.sort_values(by=["Method", "strength_of_noise"])
print()
print("========================================")
print(f"Accuracy, Sensitivity, Precision, and Recall for top3_selected_features")
print("========================================")
print(accuracy_df.to_string())
################################################################################
# Perform statistical testing to compare independent and dependent feature statistics with t-test
################################################################################
comparison_results_ttest = []
for strength_of_noise in statistics_df["strength_of_noise"].unique():
for method in statistics_df["Method"].unique():
subset = statistics_df[(statistics_df["strength_of_noise"] == strength_of_noise) & (statistics_df["Method"] == method)]
for ind_stat, dep_stat in [("min", "min"),
("min", "avg"),
("min", "max"),
("avg", "min"),
("avg", "avg"),
("avg", "max"),
("max", "min"),
("max", "avg"),
("max", "max")]:
ind_values = subset[f"{ind_stat}_independent_features_statistics"].replace(0, np.nan).dropna()
dep_values = subset[f"{dep_stat}_dependent_features_statistics"].replace(0, np.nan).dropna()
if not ind_values.empty and not dep_values.empty:
# Apply log transformation, adding a small constant to avoid log(0)
log_ind_values = np.log(ind_values + 1e-9)
log_dep_values = np.log(dep_values + 1e-9)
t_stat, p_value = stats.ttest_ind(log_ind_values, log_dep_values, alternative='less')
avg_ind_stat_value = ind_values.mean()
avg_dep_stat_value = dep_values.mean()
comparison_results_ttest.append({
"strength_of_noise": strength_of_noise,
"Method": method,
"ind_stat": ind_stat,
"dep_stat": dep_stat,
#"t_stat": t_stat,
"p_value": p_value,
#"avg_ind_stat_value": avg_ind_stat_value,
#"avg_dep_stat_value": avg_dep_stat_value,
"dep_stat_greater_than_ind_stat": avg_ind_stat_value < avg_dep_stat_value
})
comparison_df_ttest = pd.DataFrame(comparison_results_ttest)
comparison_df_ttest = comparison_df_ttest.sort_values(by=["Method", "strength_of_noise", "ind_stat", "dep_stat"])
print()
print("========================================")
print(f"t-test; Comparison Results - Independent vs Dependent Feature Statistics")
print("========================================")
print(comparison_df_ttest.to_string())
print()
print("========================================")
print(f"t-test; Comparison Results - Independent vs Dependent Feature Statistics SHORT")
print("========================================")
print(comparison_df_ttest[(comparison_df_ttest["ind_stat"] == "max") & (comparison_df_ttest["dep_stat"] == "min")].to_string())
print()
################################################################################
# Perform statistical testing to compare independent and dependent feature statistics with Mann-Whitney U test
################################################################################
comparison_results_mannwhitneyu = []
for strength_of_noise in statistics_df["strength_of_noise"].unique():
for method in statistics_df["Method"].unique():
subset = statistics_df[(statistics_df["strength_of_noise"] == strength_of_noise) & (statistics_df["Method"] == method)]
for ind_stat, dep_stat in [("min", "min"),
("min", "avg"),
("min", "max"),
("avg", "min"),
("avg", "avg"),
("avg", "max"),
("max", "min"),
("max", "avg"),
("max", "max")]:
ind_values = subset[f"{ind_stat}_independent_features_statistics"].replace(0, np.nan).dropna()
dep_values = subset[f"{dep_stat}_dependent_features_statistics"].replace(0, np.nan).dropna()
if not ind_values.empty and not dep_values.empty:
u_stat, p_value = stats.mannwhitneyu(ind_values, dep_values, alternative='less')
avg_ind_stat_value = ind_values.mean()
avg_dep_stat_value = dep_values.mean()
comparison_results_mannwhitneyu.append({
"strength_of_noise": strength_of_noise,
"Method": method,
"ind_stat": ind_stat,
"dep_stat": dep_stat,
#"u_stat": u_stat,
"p_value": p_value,
#"avg_ind_stat_value": avg_ind_stat_value,
#"avg_dep_stat_value": avg_dep_stat_value,
"dep_stat_greater_than_ind_stat": avg_ind_stat_value < avg_dep_stat_value
})
comparison_df_mannwhitneyu = pd.DataFrame(comparison_results_mannwhitneyu)
comparison_df_mannwhitneyu = comparison_df_mannwhitneyu.sort_values(by=["Method", "strength_of_noise", "ind_stat", "dep_stat"])
print()
print("========================================")
print(f"Mann-Whitney U test; Comparison Results - Independent vs Dependent Feature Statistics")
print("========================================")
print(comparison_df_mannwhitneyu.to_string())
print()
print("========================================")
print(f"Mann-Whitney U test; Comparison Results - Independent vs Dependent Feature Statistics SHORT")
print("========================================")
print(comparison_df_mannwhitneyu[(comparison_df_mannwhitneyu["ind_stat"] == "max") & (comparison_df_mannwhitneyu["dep_stat"] == "min")].to_string())
print()
################################################################################
# Lognormal test results of statistics distribution and confidence intervals calculation
################################################################################
lognormal_results = []
for strength_of_noise in statistics_df["strength_of_noise"].unique():
for method in statistics_df["Method"].unique():
subset = statistics_df[(statistics_df["strength_of_noise"] == strength_of_noise) & (statistics_df["Method"] == method)]
# Check if the distribution of dependent statistics is lognormal
dependent_stats_avg = subset["avg_dependent_features_statistics"].replace(0, np.nan).dropna()
dependent_stats_min = subset["min_dependent_features_statistics"].replace(0, np.nan).dropna()
dependent_stats_max = subset["max_dependent_features_statistics"].replace(0, np.nan).dropna()
# Check if the distribution of independent statistics is lognormal
independent_stats_avg = subset["avg_independent_features_statistics"].replace(0, np.nan).dropna()
independent_stats_min = subset["min_independent_features_statistics"].replace(0, np.nan).dropna()
independent_stats_max = subset["max_independent_features_statistics"].replace(0, np.nan).dropna()
# Fit lognormal distribution and perform KS test for average statistics
if not dependent_stats_avg.empty:
shape_avg, loc_avg, scale_avg = stats.lognorm.fit(dependent_stats_avg, floc=0)
kstest_result_avg = stats.kstest(dependent_stats_avg, 'lognorm', args=(shape_avg, loc_avg, scale_avg))
ci_avg = stats.lognorm.interval(0.95, shape_avg, loc=loc_avg, scale=scale_avg)
else:
kstest_result_avg = stats.kstest([0], 'lognorm', args=(0, 0, 1)) # Default result for empty data
ci_avg = (0, 0)
if not independent_stats_avg.empty:
shape_ind_avg, loc_ind_avg, scale_ind_avg = stats.lognorm.fit(independent_stats_avg, floc=0)
kstest_result_ind_avg = stats.kstest(independent_stats_avg, 'lognorm', args=(shape_ind_avg, loc_ind_avg, scale_ind_avg))
ci_ind_avg = stats.lognorm.interval(0.95, shape_ind_avg, loc=loc_ind_avg, scale=scale_ind_avg)
else:
kstest_result_ind_avg = stats.kstest([0], 'lognorm', args=(0, 0, 1)) # Default result for empty data
ci_ind_avg = (0, 0)
# Fit lognormal distribution and perform KS test for min statistics
if not dependent_stats_min.empty:
shape_min, loc_min, scale_min = stats.lognorm.fit(dependent_stats_min, floc=0)
kstest_result_min = stats.kstest(dependent_stats_min, 'lognorm', args=(shape_min, loc_min, scale_min))
ci_min = stats.lognorm.interval(0.95, shape_min, loc=loc_min, scale=scale_min)
else:
kstest_result_min = stats.kstest([0], 'lognorm', args=(0, 0, 1)) # Default result for empty data
ci_min = (0, 0)
if not independent_stats_min.empty:
shape_ind_min, loc_ind_min, scale_ind_min = stats.lognorm.fit(independent_stats_min, floc=0)
kstest_result_ind_min = stats.kstest(independent_stats_min, 'lognorm', args=(shape_ind_min, loc_ind_min, scale_ind_min))
ci_ind_min = stats.lognorm.interval(0.95, shape_ind_min, loc=loc_ind_min, scale=scale_ind_min)
else:
kstest_result_ind_min = stats.kstest([0], 'lognorm', args=(0, 0, 1)) # Default result for empty data
ci_ind_min = (0, 0)
# Fit lognormal distribution and perform KS test for max statistics
if not dependent_stats_max.empty:
shape_max, loc_max, scale_max = stats.lognorm.fit(dependent_stats_max, floc=0)
kstest_result_max = stats.kstest(dependent_stats_max, 'lognorm', args=(shape_max, loc_max, scale_max))
ci_max = stats.lognorm.interval(0.95, shape_max, loc=loc_max, scale=scale_max)
else:
kstest_result_max = stats.kstest([0], 'lognorm', args=(0, 0, 1)) # Default result for empty data
ci_max = (0, 0)
if not independent_stats_max.empty:
shape_ind_max, loc_ind_max, scale_ind_max = stats.lognorm.fit(independent_stats_max, floc=0)
kstest_result_ind_max = stats.kstest(independent_stats_max, 'lognorm', args=(shape_ind_max, loc_ind_max, scale_ind_max))
ci_ind_max = stats.lognorm.interval(0.95, shape_ind_max, loc=loc_ind_max, scale=scale_ind_max)
else:
kstest_result_ind_max = stats.kstest([0], 'lognorm', args=(0, 0, 1)) # Default result for empty data
ci_ind_max = (0, 0)
lognormal_results.append({
"strength_of_noise": strength_of_noise,
"Method": method,
"dependent_avg_statistic": kstest_result_avg.statistic,
"dependent_avg_pvalue": kstest_result_avg.pvalue,
"dependent_avg_is_lognormal": kstest_result_avg.pvalue > 0.05,
"dependent_avg_shape": shape_avg,
"dependent_avg_loc": loc_avg,
"dependent_avg_scale": scale_avg,
"dependent_avg_ci_lower": ci_avg[0],
"dependent_avg_ci_upper": ci_avg[1],
"dependent_min_statistic": kstest_result_min.statistic,
"dependent_min_pvalue": kstest_result_min.pvalue,
"dependent_min_is_lognormal": kstest_result_min.pvalue > 0.05,
"dependent_min_shape": shape_min,
"dependent_min_loc": loc_min,
"dependent_min_scale": scale_min,
"dependent_min_ci_lower": ci_min[0],
"dependent_min_ci_upper": ci_min[1],
"dependent_max_statistic": kstest_result_max.statistic,
"dependent_max_pvalue": kstest_result_max.pvalue,
"dependent_max_is_lognormal": kstest_result_max.pvalue > 0.05,
"dependent_max_shape": shape_max,
"dependent_max_loc": loc_max,
"dependent_max_scale": scale_max,
"dependent_max_ci_lower": ci_max[0],
"dependent_max_ci_upper": ci_max[1],
"ind_avg_statistic": kstest_result_ind_avg.statistic,
"ind_avg_pvalue": kstest_result_ind_avg.pvalue,
"ind_avg_is_lognormal": kstest_result_ind_avg.pvalue > 0.05,
"ind_avg_shape": shape_ind_avg,
"ind_avg_loc": loc_ind_avg,
"ind_avg_scale": scale_ind_avg,
"ind_avg_ci_lower": ci_ind_avg[0],
"ind_avg_ci_upper": ci_ind_avg[1],
"ind_min_statistic": kstest_result_ind_min.statistic,
"ind_min_pvalue": kstest_result_ind_min.pvalue,
"ind_min_is_lognormal": kstest_result_ind_min.pvalue > 0.05,
"ind_min_shape": shape_ind_min,
"ind_min_loc": loc_ind_min,
"ind_min_scale": scale_ind_min,
"ind_min_ci_lower": ci_ind_min[0],
"ind_min_ci_upper": ci_ind_min[1],
"ind_max_statistic": kstest_result_ind_max.statistic,
"ind_max_pvalue": kstest_result_ind_max.pvalue,
"ind_max_is_lognormal": kstest_result_ind_max.pvalue > 0.05,
"ind_max_shape": shape_ind_max,
"ind_max_loc": loc_ind_max,
"ind_max_scale": scale_ind_max,
"ind_max_ci_lower": ci_ind_max[0],
"ind_max_ci_upper": ci_ind_max[1]
})
# Plot QQ-plots and histograms for each statistic
fig, axes = plt.subplots(4, 3, figsize=(15, 20))
# QQ plots for dependent statistics
stats.probplot(dependent_stats_avg, dist="lognorm", sparams=(shape_avg, loc_avg, scale_avg), plot=axes[0, 0])
axes[0, 0].set_title(f'QQ Plot - Avg Dependent Stats\n{method} - Noise: {strength_of_noise}')
stats.probplot(dependent_stats_min, dist="lognorm", sparams=(shape_min, loc_min, scale_min), plot=axes[0, 1])
axes[0, 1].set_title(f'QQ Plot - Min Dependent Stats\n{method} - Noise: {strength_of_noise}')
stats.probplot(dependent_stats_max, dist="lognorm", sparams=(shape_max, loc_max, scale_max), plot=axes[0, 2])
axes[0, 2].set_title(f'QQ Plot - Max Dependent Stats\n{method} - Noise: {strength_of_noise}')
# QQ plots for independent statistics
stats.probplot(independent_stats_avg, dist="lognorm", sparams=(shape_ind_avg, loc_ind_avg, scale_ind_avg), plot=axes[1, 0])
axes[1, 0].set_title(f'QQ Plot - Avg Independent Stats\n{method} - Noise: {strength_of_noise}')
stats.probplot(independent_stats_min, dist="lognorm", sparams=(shape_ind_min, loc_ind_min, scale_ind_min), plot=axes[1, 1])
axes[1, 1].set_title(f'QQ Plot - Min Independent Stats\n{method} - Noise: {strength_of_noise}')
stats.probplot(independent_stats_max, dist="lognorm", sparams=(shape_ind_max, loc_ind_max, scale_ind_max), plot=axes[1, 2])
axes[1, 2].set_title(f'QQ Plot - Max Independent Stats\n{method} - Noise: {strength_of_noise}')
# Histograms with lognormal distribution for dependent statistics
x_avg = np.linspace(dependent_stats_avg.min(), dependent_stats_avg.max(), 100)
axes[2, 0].hist(dependent_stats_avg, bins=30, density=True, alpha=0.5)
axes[2, 0].plot(x_avg, stats.lognorm.pdf(x_avg, shape_avg, loc=loc_avg, scale=scale_avg), 'r-', lw=2)
axes[2, 0].set_title(f'Histogram - Avg Dependent Stats\n{method} - Noise: {strength_of_noise}')
x_min = np.linspace(dependent_stats_min.min(), dependent_stats_min.max(), 100)
axes[2, 1].hist(dependent_stats_min, bins=30, density=True, alpha=0.5)
axes[2, 1].plot(x_min, stats.lognorm.pdf(x_min, shape_min, loc=loc_min, scale=scale_min), 'r-', lw=2)
axes[2, 1].set_title(f'Histogram - Min Dependent Stats\n{method} - Noise: {strength_of_noise}')
x_max = np.linspace(dependent_stats_max.min(), dependent_stats_max.max(), 100)
axes[2, 2].hist(dependent_stats_max, bins=30, density=True, alpha=0.5)
axes[2, 2].plot(x_max, stats.lognorm.pdf(x_max, shape_max, loc=loc_max, scale=scale_max), 'r-', lw=2)
axes[2, 2].set_title(f'Histogram - Max Dependent Stats\n{method} - Noise: {strength_of_noise}')
# Histograms with lognormal distribution for independent statistics
x_ind_avg = np.linspace(independent_stats_avg.min(), independent_stats_avg.max(), 100)
axes[3, 0].hist(independent_stats_avg, bins=30, density=True, alpha=0.5)
axes[3, 0].plot(x_ind_avg, stats.lognorm.pdf(x_ind_avg, shape_ind_avg, loc=loc_ind_avg, scale=scale_ind_avg), 'r-', lw=2)
axes[3, 0].set_title(f'Histogram - Avg Independent Stats\n{method} - Noise: {strength_of_noise}')
x_ind_min = np.linspace(independent_stats_min.min(), independent_stats_min.max(), 100)
axes[3, 1].hist(independent_stats_min, bins=30, density=True, alpha=0.5)
axes[3, 1].plot(x_ind_min, stats.lognorm.pdf(x_ind_min, shape_ind_min, loc=loc_ind_min, scale=scale_ind_min), 'r-', lw=2)
axes[3, 1].set_title(f'Histogram - Min Independent Stats\n{method} - Noise: {strength_of_noise}')
x_ind_max = np.linspace(independent_stats_max.min(), independent_stats_max.max(), 100)
axes[3, 2].hist(independent_stats_max, bins=30, density=True, alpha=0.5)
axes[3, 2].plot(x_ind_max, stats.lognorm.pdf(x_ind_max, shape_ind_max, loc=loc_ind_max, scale=scale_ind_max), 'r-', lw=2)
axes[3, 2].set_title(f'Histogram - Max Independent Stats\n{method} - Noise: {strength_of_noise}')
plt.tight_layout()
plt.show()
lognormal_df = pd.DataFrame(lognormal_results)
# Split into six tables using .loc to avoid SettingWithCopyWarning
avg_df = lognormal_df.loc[:, ['strength_of_noise', 'Method', 'dependent_avg_statistic', 'dependent_avg_pvalue', 'dependent_avg_is_lognormal', 'dependent_avg_shape', 'dependent_avg_loc', 'dependent_avg_scale', 'dependent_avg_ci_lower', 'dependent_avg_ci_upper']].copy()
min_df = lognormal_df.loc[:, ['strength_of_noise', 'Method', 'dependent_min_statistic', 'dependent_min_pvalue', 'dependent_min_is_lognormal', 'dependent_min_shape', 'dependent_min_loc', 'dependent_min_scale', 'dependent_min_ci_lower', 'dependent_min_ci_upper']].copy()
max_df = lognormal_df.loc[:, ['strength_of_noise', 'Method', 'dependent_max_statistic', 'dependent_max_pvalue', 'dependent_max_is_lognormal', 'dependent_max_shape', 'dependent_max_loc', 'dependent_max_scale', 'dependent_max_ci_lower', 'dependent_max_ci_upper']].copy()
ind_avg_df = lognormal_df.loc[:, ['strength_of_noise', 'Method', 'ind_avg_statistic', 'ind_avg_pvalue', 'ind_avg_is_lognormal', 'ind_avg_shape', 'ind_avg_loc', 'ind_avg_scale', 'ind_avg_ci_lower', 'ind_avg_ci_upper']].copy()
ind_min_df = lognormal_df.loc[:, ['strength_of_noise', 'Method', 'ind_min_statistic', 'ind_min_pvalue', 'ind_min_is_lognormal', 'ind_min_shape', 'ind_min_loc', 'ind_min_scale', 'ind_min_ci_lower', 'ind_min_ci_upper']].copy()
ind_max_df = lognormal_df.loc[:, ['strength_of_noise', 'Method', 'ind_max_statistic', 'ind_max_pvalue', 'ind_max_is_lognormal', 'ind_max_shape', 'ind_max_loc', 'ind_max_scale', 'ind_max_ci_lower', 'ind_max_ci_upper']].copy()
# Rename columns for clarity
avg_df.columns = ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'shape', 'loc', 'scale', 'ci_lower', 'ci_upper']
min_df.columns = ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'shape', 'loc', 'scale', 'ci_lower', 'ci_upper']
max_df.columns = ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'shape', 'loc', 'scale', 'ci_lower', 'ci_upper']
ind_avg_df.columns = ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'shape', 'loc', 'scale', 'ci_lower', 'ci_upper']
ind_min_df.columns = ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'shape', 'loc', 'scale', 'ci_lower', 'ci_upper']
ind_max_df.columns = ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'shape', 'loc', 'scale', 'ci_lower', 'ci_upper']
# Add a new column to identify the type
avg_df.loc[:, 'type'] = 'avg_dependent'
min_df.loc[:, 'type'] = 'min_dependent'
max_df.loc[:, 'type'] = 'max_dependent'
ind_avg_df.loc[:, 'type'] = 'avg_independent'
ind_min_df.loc[:, 'type'] = 'min_independent'
ind_max_df.loc[:, 'type'] = 'max_independent'
# Split the tables into three
stat_pvalue_df = pd.concat([avg_df.loc[:, ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'type']],
min_df.loc[:, ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'type']],
max_df.loc[:, ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'type']],
ind_avg_df.loc[:, ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'type']],
ind_min_df.loc[:, ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'type']],
ind_max_df.loc[:, ['strength_of_noise', 'Method', 'statistic', 'pvalue', 'is_lognormal', 'type']]])
stat_pvalue_df = stat_pvalue_df.sort_values(by=["Method", "strength_of_noise", "type"])
shape_loc_scale_df = pd.concat([avg_df.loc[:, ['strength_of_noise', 'Method', 'shape', 'loc', 'scale', 'type']],
min_df.loc[:, ['strength_of_noise', 'Method', 'shape', 'loc', 'scale', 'type']],
max_df.loc[:, ['strength_of_noise', 'Method', 'shape', 'loc', 'scale', 'type']],
ind_avg_df.loc[:, ['strength_of_noise', 'Method', 'shape', 'loc', 'scale', 'type']],
ind_min_df.loc[:, ['strength_of_noise', 'Method', 'shape', 'loc', 'scale', 'type']],
ind_max_df.loc[:, ['strength_of_noise', 'Method', 'shape', 'loc', 'scale', 'type']]])
shape_loc_scale_df = shape_loc_scale_df.sort_values(by=["Method", "strength_of_noise", "type"])
ci_df = pd.concat([avg_df.loc[:, ['strength_of_noise', 'Method', 'ci_lower', 'ci_upper', 'type']],
min_df.loc[:, ['strength_of_noise', 'Method', 'ci_lower', 'ci_upper', 'type']],
max_df.loc[:, ['strength_of_noise', 'Method', 'ci_lower', 'ci_upper', 'type']],
ind_avg_df.loc[:, ['strength_of_noise', 'Method', 'ci_lower', 'ci_upper', 'type']],
ind_min_df.loc[:, ['strength_of_noise', 'Method', 'ci_lower', 'ci_upper', 'type']],
ind_max_df.loc[:, ['strength_of_noise', 'Method', 'ci_lower', 'ci_upper', 'type']]])
ci_df = ci_df.sort_values(by=["Method", "strength_of_noise", "type"])
print()
print("========================================")
print(f"Lognormal Test Results - Statistics and P-values")
print("========================================")
print(stat_pvalue_df.to_string())
print()
print("========================================")
print(f"Lognormal Test Results - Shape, Loc, and Scale")
print("========================================")
print(shape_loc_scale_df.to_string())
print()
print("========================================")
print(f"Lognormal Test Results - Confidence Intervals")
print("========================================")
print(ci_df.to_string())
print()
print("========================================")
print(f"Lognormal Test Results - Confidence Intervals SHORT")
print("========================================")
print(ci_df[(ci_df["type"] == "min_dependent") | (ci_df["type"] == "max_independent")].to_string())
print()
################################################################################
# Create a figure for each method and strength of noise for comaping confidence intervals
################################################################################
methods = ci_df['Method'].unique()
strengths_of_noise = ci_df['strength_of_noise'].unique()
for method in methods:
for strength in strengths_of_noise:
method_strength_df = ci_df[(ci_df['Method'] == method) & (ci_df['strength_of_noise'] == strength)]
if not method_strength_df.empty:
# Original charts for avg, min, max
fig, ax = plt.subplots(figsize=(10, 6))
for dep_type in ['avg', 'min', 'max']:
dep_df = method_strength_df[method_strength_df['type'].str.contains(dep_type)]
if not dep_df.empty:
ax.errorbar(dep_df['type'], dep_df['ci_lower'],
yerr=(dep_df['ci_upper'] - dep_df['ci_lower']) / 2,
fmt='o', label=f'{method} - {strength} - {dep_type}')
ax.set_xlabel('Type (avg, min, max)')
ax.set_ylabel('Confidence Interval')
ax.set_title(f'Confidence Intervals for {method} at Noise Strength {strength}')
ax.legend()
ax.grid(True)
plt.show()
# Additional charts for max_independent and min_dependent
fig, ax = plt.subplots(figsize=(10, 6))
for dep_type in ['max_independent', 'min_dependent']:
dep_df = method_strength_df[method_strength_df['type'] == dep_type]
if not dep_df.empty:
ax.errorbar(dep_df['type'], dep_df['ci_lower'],
yerr=(dep_df['ci_upper'] - dep_df['ci_lower']) / 2,
fmt='o', label=f'{method} - {strength} - {dep_type}')
ax.set_xlabel('Type (max_independent, min_dependent)')
ax.set_ylabel('Confidence Interval')
ax.set_title(f'Confidence Intervals for {method} at Noise Strength {strength} (Additional)')
ax.legend()
ax.grid(True)
plt.show()
/Users/artemlytvyn/Documents/внз/аспірантура/ii_semestr/paper/20250102/Random-Forest-Based-Method-for-Detecting-Feature-Dependencies/venv/lib/python3.9/site-packages/numba/np/ufunc/parallel.py:371: NumbaWarning: The TBB threading layer requires TBB version 2021 update 6 or later i.e., TBB_INTERFACE_VERSION >= 12060. Found TBB_INTERFACE_VERSION = 12050. The TBB threading layer is disabled. warnings.warn(problem) OMP: Info #276: omp_set_nested routine deprecated, please use omp_set_max_active_levels instead.
0.01 - 0 - Time taken: 0:00:49.717397
0.01 - 1 - Time taken: 0:00:51.758937
0.01 - 2 - Time taken: 0:00:50.638777
0.01 - 3 - Time taken: 0:00:51.008009
0.01 - 4 - Time taken: 0:00:47.793247
0.01 - 5 - Time taken: 0:00:50.874324
0.01 - 6 - Time taken: 0:00:48.946902
0.01 - 7 - Time taken: 0:00:51.943510
0.01 - 8 - Time taken: 0:00:53.663533
0.01 - 9 - Time taken: 0:00:52.058400
0.01 - 10 - Time taken: 0:00:52.780030
0.01 - 11 - Time taken: 0:00:53.441601
0.01 - 12 - Time taken: 0:00:53.633687
0.01 - 13 - Time taken: 0:00:53.988774
0.01 - 14 - Time taken: 0:00:56.841737
0.01 - 15 - Time taken: 0:00:53.318718
0.01 - 16 - Time taken: 0:00:53.437207
0.01 - 17 - Time taken: 0:00:54.685848
0.01 - 18 - Time taken: 0:00:59.138477
0.01 - 19 - Time taken: 0:00:57.048928
0.01 - 20 - Time taken: 0:00:55.625406
0.01 - 21 - Time taken: 0:00:55.402302
0.01 - 22 - Time taken: 0:00:59.196232
0.01 - 23 - Time taken: 0:00:54.719456
0.01 - 24 - Time taken: 0:00:52.707959
0.01 - 25 - Time taken: 0:00:54.362505
0.01 - 26 - Time taken: 0:00:54.801112
0.01 - 27 - Time taken: 0:00:57.129137
0.01 - 28 - Time taken: 0:00:54.970112
0.01 - 29 - Time taken: 0:00:54.518663
0.01 - 30 - Time taken: 0:00:55.834203
0.01 - 31 - Time taken: 0:00:52.979788
0.01 - 32 - Time taken: 0:00:54.789426
0.01 - 33 - Time taken: 0:00:55.447468
0.01 - 34 - Time taken: 0:00:53.196354
0.01 - 35 - Time taken: 0:00:52.492054
0.01 - 36 - Time taken: 0:00:55.419182
0.01 - 37 - Time taken: 0:00:53.828861
0.01 - 38 - Time taken: 0:00:53.772134
0.01 - 39 - Time taken: 0:00:51.261602
0.01 - 40 - Time taken: 0:00:51.518401
0.01 - 41 - Time taken: 0:00:50.293082
0.01 - 42 - Time taken: 0:00:47.754151
0.01 - 43 - Time taken: 0:00:49.329271
0.01 - 44 - Time taken: 0:00:48.837252
0.01 - 45 - Time taken: 0:00:49.144336
0.01 - 46 - Time taken: 0:00:47.782156
0.01 - 47 - Time taken: 0:00:49.585549
0.01 - 48 - Time taken: 0:00:50.368960
0.01 - 49 - Time taken: 0:00:49.516127
0.01 - 50 - Time taken: 0:00:46.766307
0.01 - 51 - Time taken: 0:00:48.022242
0.01 - 52 - Time taken: 0:00:48.934735
0.01 - 53 - Time taken: 0:00:48.388569
0.01 - 54 - Time taken: 0:00:48.978229
0.01 - 55 - Time taken: 0:00:48.240487
0.01 - 56 - Time taken: 0:00:51.466053
0.01 - 57 - Time taken: 0:00:51.796756
0.01 - 58 - Time taken: 0:00:48.256457
0.01 - 59 - Time taken: 0:00:48.904356
0.01 - 60 - Time taken: 0:00:49.353993
0.01 - 61 - Time taken: 0:00:51.083140
0.01 - 62 - Time taken: 0:00:50.116608
0.01 - 63 - Time taken: 0:00:48.883028
0.01 - 64 - Time taken: 0:00:49.413009
0.01 - 65 - Time taken: 0:00:50.534310
0.01 - 66 - Time taken: 0:00:48.437186
0.01 - 67 - Time taken: 0:00:49.740567
0.01 - 68 - Time taken: 0:00:51.167782
0.01 - 69 - Time taken: 0:00:50.740897
0.01 - 70 - Time taken: 0:00:48.576655
0.01 - 71 - Time taken: 0:00:48.143537
0.01 - 72 - Time taken: 0:00:48.092516
0.01 - 73 - Time taken: 0:00:49.201523
0.01 - 74 - Time taken: 0:00:48.816587
0.01 - 75 - Time taken: 0:00:49.455962
0.01 - 76 - Time taken: 0:00:49.744316
0.01 - 77 - Time taken: 0:00:49.059536
0.01 - 78 - Time taken: 0:00:47.946176
0.01 - 79 - Time taken: 0:00:50.088208
0.01 - 80 - Time taken: 0:00:48.814020
0.01 - 81 - Time taken: 0:00:47.940477
0.01 - 82 - Time taken: 0:00:47.444704
0.01 - 83 - Time taken: 0:00:49.183698
0.01 - 84 - Time taken: 0:00:47.119314
0.01 - 85 - Time taken: 0:00:47.590610
0.01 - 86 - Time taken: 0:00:48.960365
0.01 - 87 - Time taken: 0:00:48.747220
0.01 - 88 - Time taken: 0:00:49.358702
0.01 - 89 - Time taken: 0:00:49.979752
0.01 - 90 - Time taken: 0:00:49.025978
0.01 - 91 - Time taken: 0:00:48.749198
0.01 - 92 - Time taken: 0:00:48.309327
0.01 - 93 - Time taken: 0:00:47.946376
0.01 - 94 - Time taken: 0:00:48.145961
0.01 - 95 - Time taken: 0:00:48.785960
0.01 - 96 - Time taken: 0:00:51.156667
0.01 - 97 - Time taken: 0:00:48.040709
0.01 - 98 - Time taken: 0:00:48.666569
0.01 - 99 - Time taken: 0:00:50.598350
0.1 - 0 - Time taken: 0:00:48.532243
0.1 - 1 - Time taken: 0:00:48.551876
0.1 - 2 - Time taken: 0:00:48.230641
0.1 - 3 - Time taken: 0:00:49.165410
0.1 - 4 - Time taken: 0:00:47.225072
0.1 - 5 - Time taken: 0:00:47.726031
0.1 - 6 - Time taken: 0:00:47.152228
0.1 - 7 - Time taken: 0:00:47.229237
0.1 - 8 - Time taken: 0:00:49.543284
0.1 - 9 - Time taken: 0:00:48.387758
0.1 - 10 - Time taken: 0:00:49.452616
0.1 - 11 - Time taken: 0:00:48.424673
0.1 - 12 - Time taken: 0:00:48.357711
0.1 - 13 - Time taken: 0:00:47.693223
0.1 - 14 - Time taken: 0:00:47.965152
0.1 - 15 - Time taken: 0:00:49.366869
0.1 - 16 - Time taken: 0:00:47.198904
0.1 - 17 - Time taken: 0:00:48.150619
0.1 - 18 - Time taken: 0:00:49.757921
0.1 - 19 - Time taken: 0:00:48.366573
0.1 - 20 - Time taken: 0:00:47.351957
0.1 - 21 - Time taken: 0:00:47.649065
0.1 - 22 - Time taken: 0:00:51.002953
0.1 - 23 - Time taken: 0:00:48.087372
0.1 - 24 - Time taken: 0:00:47.871763
0.1 - 25 - Time taken: 0:00:49.277808
0.1 - 26 - Time taken: 0:00:48.897029
0.1 - 27 - Time taken: 0:00:50.743932
0.1 - 28 - Time taken: 0:00:51.294277
0.1 - 29 - Time taken: 0:00:49.038920
0.1 - 30 - Time taken: 0:00:51.053318
0.1 - 31 - Time taken: 0:00:49.787271
0.1 - 32 - Time taken: 0:00:49.705198
0.1 - 33 - Time taken: 0:00:48.233804
0.1 - 34 - Time taken: 0:00:49.435076
0.1 - 35 - Time taken: 0:00:48.996522
0.1 - 36 - Time taken: 0:00:50.163428
0.1 - 37 - Time taken: 0:00:47.880426
0.1 - 38 - Time taken: 0:00:48.856006
0.1 - 39 - Time taken: 0:00:48.526994
0.1 - 40 - Time taken: 0:00:50.486251
0.1 - 41 - Time taken: 0:00:48.313274
0.1 - 42 - Time taken: 0:00:48.022071
0.1 - 43 - Time taken: 0:00:48.920257
0.1 - 44 - Time taken: 0:00:47.483904
0.1 - 45 - Time taken: 0:00:49.648263
0.1 - 46 - Time taken: 0:00:46.796492
0.1 - 47 - Time taken: 0:00:50.019770
0.1 - 48 - Time taken: 0:00:50.543946
0.1 - 49 - Time taken: 0:00:49.422046
0.1 - 50 - Time taken: 0:00:47.910361
0.1 - 51 - Time taken: 0:00:47.435647
0.1 - 52 - Time taken: 0:00:48.048349
0.1 - 53 - Time taken: 0:00:48.025480
0.1 - 54 - Time taken: 0:00:47.214563
0.1 - 55 - Time taken: 0:00:47.040672
0.1 - 56 - Time taken: 0:00:50.282159
0.1 - 57 - Time taken: 0:00:50.789716
0.1 - 58 - Time taken: 0:00:48.354133
0.1 - 59 - Time taken: 0:00:47.402147
0.1 - 60 - Time taken: 0:00:49.770509
0.1 - 61 - Time taken: 0:00:49.404239
0.1 - 62 - Time taken: 0:00:49.929482
0.1 - 63 - Time taken: 0:00:48.584353
0.1 - 64 - Time taken: 0:00:49.333913
0.1 - 65 - Time taken: 0:00:49.545348
0.1 - 66 - Time taken: 0:00:47.798911
0.1 - 67 - Time taken: 0:00:48.787304
0.1 - 68 - Time taken: 0:00:48.551899
0.1 - 69 - Time taken: 0:00:49.983370
0.1 - 70 - Time taken: 0:00:48.843375
0.1 - 71 - Time taken: 0:00:48.376395
0.1 - 72 - Time taken: 0:00:48.038650
0.1 - 73 - Time taken: 0:00:48.251362
0.1 - 74 - Time taken: 0:00:49.281251
0.1 - 75 - Time taken: 0:00:49.878969
0.1 - 76 - Time taken: 0:00:48.832277
0.1 - 77 - Time taken: 0:00:47.938732
0.1 - 78 - Time taken: 0:00:49.926254
0.1 - 79 - Time taken: 0:00:50.199839
0.1 - 80 - Time taken: 0:00:49.120079
0.1 - 81 - Time taken: 0:00:48.125380
0.1 - 82 - Time taken: 0:00:47.673602
0.1 - 83 - Time taken: 0:00:49.303232
0.1 - 84 - Time taken: 0:00:47.433432
0.1 - 85 - Time taken: 0:00:48.588360
0.1 - 86 - Time taken: 0:00:48.812490
0.1 - 87 - Time taken: 0:00:47.561405
0.1 - 88 - Time taken: 0:00:49.540224
0.1 - 89 - Time taken: 0:00:50.440068
0.1 - 90 - Time taken: 0:00:47.714030
0.1 - 91 - Time taken: 0:00:48.984384
0.1 - 92 - Time taken: 0:00:48.851370
0.1 - 93 - Time taken: 0:00:47.221030
0.1 - 94 - Time taken: 0:00:48.710688
0.1 - 95 - Time taken: 0:00:48.330836
0.1 - 96 - Time taken: 0:00:50.372035
0.1 - 97 - Time taken: 0:00:47.662368
0.1 - 98 - Time taken: 0:00:47.939674
0.1 - 99 - Time taken: 0:00:50.215588
1 - 0 - Time taken: 0:00:48.325896
1 - 1 - Time taken: 0:00:47.025722
1 - 2 - Time taken: 0:00:48.040338
1 - 3 - Time taken: 0:00:47.913648
1 - 4 - Time taken: 0:00:44.189905
1 - 5 - Time taken: 0:00:48.917602
1 - 6 - Time taken: 0:00:45.736865
1 - 7 - Time taken: 0:00:51.488076
1 - 8 - Time taken: 0:00:48.565726
1 - 9 - Time taken: 0:00:48.984093
1 - 10 - Time taken: 0:00:48.372061
1 - 11 - Time taken: 0:00:45.466902
1 - 12 - Time taken: 0:00:47.745944
1 - 13 - Time taken: 0:00:46.081668
1 - 14 - Time taken: 0:00:50.107560
1 - 15 - Time taken: 0:00:48.279039
1 - 16 - Time taken: 0:00:47.499909
1 - 17 - Time taken: 0:00:48.688988
1 - 18 - Time taken: 0:00:47.775659
1 - 19 - Time taken: 0:00:47.236596
1 - 20 - Time taken: 0:00:49.661265
1 - 21 - Time taken: 0:00:46.447530
1 - 22 - Time taken: 0:00:49.552340
1 - 23 - Time taken: 0:00:49.259601
1 - 24 - Time taken: 0:00:47.143100
1 - 25 - Time taken: 0:00:47.733781
1 - 26 - Time taken: 0:00:47.697244
1 - 27 - Time taken: 0:00:47.653666
1 - 28 - Time taken: 0:00:50.913467
1 - 29 - Time taken: 0:00:44.422038
1 - 30 - Time taken: 0:00:44.902378
1 - 31 - Time taken: 0:00:47.370494
1 - 32 - Time taken: 0:00:45.137087
1 - 33 - Time taken: 0:00:48.158391
1 - 34 - Time taken: 0:00:47.854222
1 - 35 - Time taken: 0:00:47.461061
1 - 36 - Time taken: 0:00:48.606124
1 - 37 - Time taken: 0:00:47.017544
1 - 38 - Time taken: 0:00:47.524842
1 - 39 - Time taken: 0:00:49.171455
1 - 40 - Time taken: 0:00:48.329684
1 - 41 - Time taken: 0:00:48.111327
1 - 42 - Time taken: 0:00:46.624294
1 - 43 - Time taken: 0:00:47.794902
1 - 44 - Time taken: 0:00:46.981859
1 - 45 - Time taken: 0:00:45.405657
1 - 46 - Time taken: 0:00:47.507626
1 - 47 - Time taken: 0:00:49.973234
1 - 48 - Time taken: 0:00:48.323581
1 - 49 - Time taken: 0:00:47.237765
1 - 50 - Time taken: 0:00:44.132583
1 - 51 - Time taken: 0:00:44.383626
1 - 52 - Time taken: 0:00:45.744034
1 - 53 - Time taken: 0:00:47.014699
1 - 54 - Time taken: 0:00:46.589248
1 - 55 - Time taken: 0:00:44.373528
1 - 56 - Time taken: 0:00:49.151495
1 - 57 - Time taken: 0:00:48.773826
1 - 58 - Time taken: 0:00:47.169059
1 - 59 - Time taken: 0:00:47.486471
1 - 60 - Time taken: 0:00:47.982216
1 - 61 - Time taken: 0:00:47.660757
1 - 62 - Time taken: 0:00:49.287594
1 - 63 - Time taken: 0:00:44.367024
1 - 64 - Time taken: 0:00:48.369273
1 - 65 - Time taken: 0:00:48.071183
1 - 66 - Time taken: 0:00:48.780377
1 - 67 - Time taken: 0:00:47.153313
1 - 68 - Time taken: 0:00:45.799732
1 - 69 - Time taken: 0:00:48.335838
1 - 70 - Time taken: 0:00:48.930825
1 - 71 - Time taken: 0:00:47.198449
1 - 72 - Time taken: 0:00:48.369006
1 - 73 - Time taken: 0:00:47.893085
1 - 74 - Time taken: 0:00:48.186348
1 - 75 - Time taken: 0:00:48.678116
1 - 76 - Time taken: 0:00:46.051097
1 - 77 - Time taken: 0:00:47.702513
1 - 78 - Time taken: 0:00:49.896564
1 - 79 - Time taken: 0:00:47.854807
1 - 80 - Time taken: 0:00:45.564134
1 - 81 - Time taken: 0:00:45.542789
1 - 82 - Time taken: 0:00:44.998965
1 - 83 - Time taken: 0:00:47.747604
1 - 84 - Time taken: 0:00:44.520958
1 - 85 - Time taken: 0:00:47.459498
1 - 86 - Time taken: 0:00:45.270028
1 - 87 - Time taken: 0:00:49.062045
1 - 88 - Time taken: 0:00:49.178502
1 - 89 - Time taken: 0:00:49.217744
1 - 90 - Time taken: 0:00:47.177960
1 - 91 - Time taken: 0:00:47.500865
1 - 92 - Time taken: 0:00:47.618334
1 - 93 - Time taken: 0:00:47.748290
1 - 94 - Time taken: 0:00:44.515575
1 - 95 - Time taken: 0:00:48.258919
1 - 96 - Time taken: 0:00:50.237329
1 - 97 - Time taken: 0:00:44.307538
1 - 98 - Time taken: 0:00:49.967621
1 - 99 - Time taken: 0:00:48.735639
10 - 0 - Time taken: 0:00:45.271792
10 - 1 - Time taken: 0:00:44.018583
10 - 2 - Time taken: 0:00:44.348055
10 - 3 - Time taken: 0:00:45.131885
10 - 4 - Time taken: 0:00:44.506423
10 - 5 - Time taken: 0:00:45.562742
10 - 6 - Time taken: 0:00:46.258113
10 - 7 - Time taken: 0:00:46.801412
10 - 8 - Time taken: 0:00:45.439179
10 - 9 - Time taken: 0:00:44.208420
10 - 10 - Time taken: 0:00:45.024347
10 - 11 - Time taken: 0:00:43.782946
10 - 12 - Time taken: 0:00:45.068534
10 - 13 - Time taken: 0:00:44.973013
10 - 14 - Time taken: 0:00:45.307165
10 - 15 - Time taken: 0:00:45.004183
10 - 16 - Time taken: 0:00:45.520332
10 - 17 - Time taken: 0:00:44.431346
10 - 18 - Time taken: 0:00:44.666534
10 - 19 - Time taken: 0:00:44.217974
10 - 20 - Time taken: 0:00:45.370707
10 - 21 - Time taken: 0:00:44.619426
10 - 22 - Time taken: 0:00:47.954942
10 - 23 - Time taken: 0:00:44.861573
10 - 24 - Time taken: 0:00:44.745125
10 - 25 - Time taken: 0:00:47.582392
10 - 26 - Time taken: 0:00:47.781711
10 - 27 - Time taken: 0:00:44.598515
10 - 28 - Time taken: 0:00:46.094992
10 - 29 - Time taken: 0:00:44.248555
10 - 30 - Time taken: 0:00:44.620831
10 - 31 - Time taken: 0:00:47.379411
10 - 32 - Time taken: 0:00:47.034671
10 - 33 - Time taken: 0:00:45.216628
10 - 34 - Time taken: 0:00:44.937677
10 - 35 - Time taken: 0:00:44.120987
10 - 36 - Time taken: 0:00:46.843186
10 - 37 - Time taken: 0:00:44.137359
10 - 38 - Time taken: 0:00:44.475684
10 - 39 - Time taken: 0:00:46.399081
10 - 40 - Time taken: 0:00:45.007295
10 - 41 - Time taken: 0:00:44.575568
10 - 42 - Time taken: 0:00:43.960960
10 - 43 - Time taken: 0:00:45.120804
10 - 44 - Time taken: 0:00:44.346338
10 - 45 - Time taken: 0:00:44.846642
10 - 46 - Time taken: 0:00:44.516919
10 - 47 - Time taken: 0:00:47.879586
10 - 48 - Time taken: 0:00:45.311781
10 - 49 - Time taken: 0:00:45.103248
10 - 50 - Time taken: 0:00:46.156954
10 - 51 - Time taken: 0:00:43.581846
10 - 52 - Time taken: 0:00:45.063504
10 - 53 - Time taken: 0:00:44.620237
10 - 54 - Time taken: 0:00:43.889309
10 - 55 - Time taken: 0:00:44.382200
10 - 56 - Time taken: 0:00:50.201223
10 - 57 - Time taken: 0:00:46.268356
10 - 58 - Time taken: 0:00:45.469435
10 - 59 - Time taken: 0:00:45.098138
10 - 60 - Time taken: 0:00:46.491874
10 - 61 - Time taken: 0:00:47.591511
10 - 62 - Time taken: 0:00:45.024458
10 - 63 - Time taken: 0:00:46.945892
10 - 64 - Time taken: 0:00:46.779460
10 - 65 - Time taken: 0:00:43.970297
10 - 66 - Time taken: 0:00:44.460351
10 - 67 - Time taken: 0:00:44.923995
10 - 68 - Time taken: 0:00:47.789867
10 - 69 - Time taken: 0:00:46.243099
10 - 70 - Time taken: 0:00:44.696943
10 - 71 - Time taken: 0:00:45.661103
10 - 72 - Time taken: 0:00:44.719036
10 - 73 - Time taken: 0:00:46.973053
10 - 74 - Time taken: 0:00:45.379042
10 - 75 - Time taken: 0:00:45.146471
10 - 76 - Time taken: 0:00:44.931453
10 - 77 - Time taken: 0:00:44.805966
10 - 78 - Time taken: 0:00:48.162813
10 - 79 - Time taken: 0:00:45.432568
10 - 80 - Time taken: 0:00:47.368805
10 - 81 - Time taken: 0:00:44.274821
10 - 82 - Time taken: 0:00:47.202256
10 - 83 - Time taken: 0:00:44.806783
10 - 84 - Time taken: 0:00:45.491319
10 - 85 - Time taken: 0:00:46.828928
10 - 86 - Time taken: 0:00:47.195567
10 - 87 - Time taken: 0:00:44.396019
10 - 88 - Time taken: 0:00:45.516939
10 - 89 - Time taken: 0:00:45.535427
10 - 90 - Time taken: 0:00:44.898182
10 - 91 - Time taken: 0:00:45.256641
10 - 92 - Time taken: 0:00:44.638529
10 - 93 - Time taken: 0:00:44.201848
10 - 94 - Time taken: 0:00:44.016460
10 - 95 - Time taken: 0:00:45.285589
10 - 96 - Time taken: 0:00:46.271772
10 - 97 - Time taken: 0:00:44.286821
10 - 98 - Time taken: 0:00:44.813473
10 - 99 - Time taken: 0:00:46.332850
========================================
Accuracy, Sensitivity, Precision, and Recall for top3_selected_features
========================================
strength_of_noise Method accuracy precision recall
2 0.01 Distance_Correlation 0.448276 0.495984 0.823333
6 0.10 Distance_Correlation 0.447273 0.495968 0.820000
10 1.00 Distance_Correlation 0.689655 0.689655 1.000000
14 10.00 Distance_Correlation 0.680272 0.680272 1.000000
1 0.01 Mutual_Information 0.413613 0.464706 0.790000
5 0.10 Mutual_Information 0.423550 0.472549 0.803333
9 1.00 Mutual_Information 0.646552 0.646552 1.000000
13 10.00 Mutual_Information 0.407801 0.465587 0.766667
0 0.01 Pearson_Correlation_(abs) 0.436594 0.488844 0.803333
4 0.10 Pearson_Correlation_(abs) 0.436594 0.488844 0.803333
8 1.00 Pearson_Correlation_(abs) 0.441230 0.490946 0.813333
12 10.00 Pearson_Correlation_(abs) 0.448718 0.498982 0.816667
3 0.01 Proposed_Method 1.000000 1.000000 1.000000
7 0.10 Proposed_Method 1.000000 1.000000 1.000000
11 1.00 Proposed_Method 1.000000 1.000000 1.000000
15 10.00 Proposed_Method 0.562500 0.720000 0.720000
========================================
t-test; Comparison Results - Independent vs Dependent Feature Statistics
========================================
strength_of_noise Method ind_stat dep_stat p_value dep_stat_greater_than_ind_stat
19 0.01 Distance_Correlation avg avg 0.000000e+00 True
20 0.01 Distance_Correlation avg max 0.000000e+00 True
18 0.01 Distance_Correlation avg min 1.000000e+00 False
22 0.01 Distance_Correlation max avg 1.268140e-206 True
23 0.01 Distance_Correlation max max 1.644155e-244 True
21 0.01 Distance_Correlation max min 1.000000e+00 False
16 0.01 Distance_Correlation min avg 6.609361e-310 True
17 0.01 Distance_Correlation min max 0.000000e+00 True
15 0.01 Distance_Correlation min min 1.871583e-30 True
52 0.10 Distance_Correlation avg avg 0.000000e+00 True
53 0.10 Distance_Correlation avg max 0.000000e+00 True
51 0.10 Distance_Correlation avg min 1.000000e+00 False
55 0.10 Distance_Correlation max avg 6.531916e-207 True
56 0.10 Distance_Correlation max max 6.467830e-245 True
54 0.10 Distance_Correlation max min 1.000000e+00 False
49 0.10 Distance_Correlation min avg 1.798652e-306 True
50 0.10 Distance_Correlation min max 0.000000e+00 True
48 0.10 Distance_Correlation min min 4.619651e-30 True
85 1.00 Distance_Correlation avg avg 2.470328e-323 True
86 1.00 Distance_Correlation avg max 0.000000e+00 True
84 1.00 Distance_Correlation avg min 8.802264e-01 False
88 1.00 Distance_Correlation max avg 4.438982e-204 True
89 1.00 Distance_Correlation max max 9.948053e-237 True
87 1.00 Distance_Correlation max min 1.000000e+00 False
82 1.00 Distance_Correlation min avg 5.202952e-304 True
83 1.00 Distance_Correlation min max 0.000000e+00 True
81 1.00 Distance_Correlation min min 1.200883e-34 True
118 10.00 Distance_Correlation avg avg 0.000000e+00 True
119 10.00 Distance_Correlation avg max 0.000000e+00 True
117 10.00 Distance_Correlation avg min 9.378119e-01 False
121 10.00 Distance_Correlation max avg 1.218677e-212 True
122 10.00 Distance_Correlation max max 1.110201e-248 True
120 10.00 Distance_Correlation max min 1.000000e+00 False
115 10.00 Distance_Correlation min avg 1.539959e-305 True
116 10.00 Distance_Correlation min max 0.000000e+00 True
114 10.00 Distance_Correlation min min 6.369353e-34 True
10 0.01 Mutual_Information avg avg 1.436968e-250 True
11 0.01 Mutual_Information avg max 6.410662e-267 True
9 0.01 Mutual_Information avg min 9.325802e-01 True
13 0.01 Mutual_Information max avg 5.675045e-208 True
14 0.01 Mutual_Information max max 4.098846e-231 True
12 0.01 Mutual_Information max min 1.000000e+00 False
43 0.10 Mutual_Information avg avg 1.280494e-230 True
44 0.10 Mutual_Information avg max 4.133666e-250 True
42 0.10 Mutual_Information avg min 8.790028e-01 True
46 0.10 Mutual_Information max avg 1.526221e-182 True
47 0.10 Mutual_Information max max 1.643102e-212 True
45 0.10 Mutual_Information max min 1.000000e+00 False
76 1.00 Mutual_Information avg avg 7.848954e-186 True
77 1.00 Mutual_Information avg max 2.167025e-210 True
75 1.00 Mutual_Information avg min 2.170856e-03 True
79 1.00 Mutual_Information max avg 5.157670e-100 True
80 1.00 Mutual_Information max max 3.716452e-150 True
78 1.00 Mutual_Information max min 1.000000e+00 False
109 10.00 Mutual_Information avg avg 6.306856e-226 True
110 10.00 Mutual_Information avg max 3.252127e-247 True
108 10.00 Mutual_Information avg min 3.001256e-01 True
112 10.00 Mutual_Information max avg 2.520611e-170 True
113 10.00 Mutual_Information max max 8.916965e-205 True
111 10.00 Mutual_Information max min 1.000000e+00 False
4 0.01 Pearson_Correlation_(abs) avg avg 7.065184e-248 True
5 0.01 Pearson_Correlation_(abs) avg max 1.470024e-274 True
3 0.01 Pearson_Correlation_(abs) avg min 1.000000e+00 False
7 0.01 Pearson_Correlation_(abs) max avg 2.088200e-180 True
8 0.01 Pearson_Correlation_(abs) max max 5.124619e-218 True
6 0.01 Pearson_Correlation_(abs) max min 1.000000e+00 False
1 0.01 Pearson_Correlation_(abs) min avg 2.977720e-123 True
2 0.01 Pearson_Correlation_(abs) min max 4.529762e-135 True
0 0.01 Pearson_Correlation_(abs) min min 8.382678e-26 True
37 0.10 Pearson_Correlation_(abs) avg avg 4.176059e-248 True
38 0.10 Pearson_Correlation_(abs) avg max 8.458663e-275 True
36 0.10 Pearson_Correlation_(abs) avg min 1.000000e+00 False
40 0.10 Pearson_Correlation_(abs) max avg 1.698767e-180 True
41 0.10 Pearson_Correlation_(abs) max max 3.722121e-218 True
39 0.10 Pearson_Correlation_(abs) max min 1.000000e+00 False
34 0.10 Pearson_Correlation_(abs) min avg 1.421838e-124 True
35 0.10 Pearson_Correlation_(abs) min max 2.292644e-136 True
33 0.10 Pearson_Correlation_(abs) min min 2.158457e-24 True
70 1.00 Pearson_Correlation_(abs) avg avg 1.026872e-245 True
71 1.00 Pearson_Correlation_(abs) avg max 6.829002e-274 True
69 1.00 Pearson_Correlation_(abs) avg min 1.000000e+00 False
73 1.00 Pearson_Correlation_(abs) max avg 3.125562e-174 True
74 1.00 Pearson_Correlation_(abs) max max 5.543969e-215 True
72 1.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
67 1.00 Pearson_Correlation_(abs) min avg 3.823491e-117 True
68 1.00 Pearson_Correlation_(abs) min max 3.340235e-129 True
66 1.00 Pearson_Correlation_(abs) min min 3.699240e-28 True
103 10.00 Pearson_Correlation_(abs) avg avg 4.879926e-149 True
104 10.00 Pearson_Correlation_(abs) avg max 4.353701e-198 True
102 10.00 Pearson_Correlation_(abs) avg min 1.000000e+00 False
106 10.00 Pearson_Correlation_(abs) max avg 8.394356e-15 True
107 10.00 Pearson_Correlation_(abs) max max 1.693590e-119 True
105 10.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
100 10.00 Pearson_Correlation_(abs) min avg 6.595442e-97 True
101 10.00 Pearson_Correlation_(abs) min max 1.024629e-109 True
99 10.00 Pearson_Correlation_(abs) min min 3.854999e-29 True
28 0.01 Proposed_Method avg avg 1.679501e-169 True
29 0.01 Proposed_Method avg max 6.759278e-164 True
27 0.01 Proposed_Method avg min 5.621826e-159 True
31 0.01 Proposed_Method max avg 1.424619e-168 True
32 0.01 Proposed_Method max max 7.829450e-163 True
30 0.01 Proposed_Method max min 9.052076e-158 True
25 0.01 Proposed_Method min avg 1.241999e-169 True
26 0.01 Proposed_Method min max 2.299999e-164 True
24 0.01 Proposed_Method min min 2.065478e-159 True
61 0.10 Proposed_Method avg avg 1.295042e-170 True
62 0.10 Proposed_Method avg max 3.708139e-167 True
60 0.10 Proposed_Method avg min 1.191810e-151 True
64 0.10 Proposed_Method max avg 8.894409e-170 True
65 0.10 Proposed_Method max max 3.532808e-166 True
63 0.10 Proposed_Method max min 3.026656e-150 True
58 0.10 Proposed_Method min avg 3.316838e-170 True
59 0.10 Proposed_Method min max 3.641916e-167 True
57 0.10 Proposed_Method min min 5.157481e-152 True
94 1.00 Proposed_Method avg avg 4.475353e-75 True
95 1.00 Proposed_Method avg max 2.842803e-70 True
93 1.00 Proposed_Method avg min 1.439336e-72 True
97 1.00 Proposed_Method max avg 7.281791e-75 True
98 1.00 Proposed_Method max max 5.665775e-69 True
96 1.00 Proposed_Method max min 4.146134e-76 True
91 1.00 Proposed_Method min avg 2.219695e-74 True
92 1.00 Proposed_Method min max 7.333598e-71 True
90 1.00 Proposed_Method min min 6.409087e-69 True
127 10.00 Proposed_Method avg avg 1.532925e-146 True
128 10.00 Proposed_Method avg max 3.736827e-161 True
126 10.00 Proposed_Method avg min 2.132938e-01 True
130 10.00 Proposed_Method max avg 5.524494e-145 True
131 10.00 Proposed_Method max max 5.077660e-160 True
129 10.00 Proposed_Method max min 9.988705e-01 False
124 10.00 Proposed_Method min avg 2.758843e-144 True
125 10.00 Proposed_Method min max 1.176643e-159 True
123 10.00 Proposed_Method min min 1.517789e-05 True
========================================
t-test; Comparison Results - Independent vs Dependent Feature Statistics SHORT
========================================
strength_of_noise Method ind_stat dep_stat p_value dep_stat_greater_than_ind_stat
21 0.01 Distance_Correlation max min 1.000000e+00 False
54 0.10 Distance_Correlation max min 1.000000e+00 False
87 1.00 Distance_Correlation max min 1.000000e+00 False
120 10.00 Distance_Correlation max min 1.000000e+00 False
12 0.01 Mutual_Information max min 1.000000e+00 False
45 0.10 Mutual_Information max min 1.000000e+00 False
78 1.00 Mutual_Information max min 1.000000e+00 False
111 10.00 Mutual_Information max min 1.000000e+00 False
6 0.01 Pearson_Correlation_(abs) max min 1.000000e+00 False
39 0.10 Pearson_Correlation_(abs) max min 1.000000e+00 False
72 1.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
105 10.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
30 0.01 Proposed_Method max min 9.052076e-158 True
63 0.10 Proposed_Method max min 3.026656e-150 True
96 1.00 Proposed_Method max min 4.146134e-76 True
129 10.00 Proposed_Method max min 9.988705e-01 False
========================================
Mann-Whitney U test; Comparison Results - Independent vs Dependent Feature Statistics
========================================
strength_of_noise Method ind_stat dep_stat p_value dep_stat_greater_than_ind_stat
19 0.01 Distance_Correlation avg avg 1.281072e-34 True
20 0.01 Distance_Correlation avg max 1.281072e-34 True
18 0.01 Distance_Correlation avg min 1.000000e+00 False
22 0.01 Distance_Correlation max avg 1.281072e-34 True
23 0.01 Distance_Correlation max max 1.281072e-34 True
21 0.01 Distance_Correlation max min 1.000000e+00 False
16 0.01 Distance_Correlation min avg 1.281072e-34 True
17 0.01 Distance_Correlation min max 1.281072e-34 True
15 0.01 Distance_Correlation min min 7.102994e-27 True
52 0.10 Distance_Correlation avg avg 1.281072e-34 True
53 0.10 Distance_Correlation avg max 1.281072e-34 True
51 0.10 Distance_Correlation avg min 1.000000e+00 False
55 0.10 Distance_Correlation max avg 1.281072e-34 True
56 0.10 Distance_Correlation max max 1.281072e-34 True
54 0.10 Distance_Correlation max min 1.000000e+00 False
49 0.10 Distance_Correlation min avg 1.281072e-34 True
50 0.10 Distance_Correlation min max 1.281072e-34 True
48 0.10 Distance_Correlation min min 6.393576e-27 True
85 1.00 Distance_Correlation avg avg 1.281072e-34 True
86 1.00 Distance_Correlation avg max 1.281072e-34 True
84 1.00 Distance_Correlation avg min 9.634516e-01 False
88 1.00 Distance_Correlation max avg 1.281072e-34 True
89 1.00 Distance_Correlation max max 1.281072e-34 True
87 1.00 Distance_Correlation max min 1.000000e+00 False
82 1.00 Distance_Correlation min avg 1.281072e-34 True
83 1.00 Distance_Correlation min max 1.281072e-34 True
81 1.00 Distance_Correlation min min 6.165218e-29 True
118 10.00 Distance_Correlation avg avg 1.281072e-34 True
119 10.00 Distance_Correlation avg max 1.281072e-34 True
117 10.00 Distance_Correlation avg min 9.850326e-01 False
121 10.00 Distance_Correlation max avg 1.281072e-34 True
122 10.00 Distance_Correlation max max 1.281072e-34 True
120 10.00 Distance_Correlation max min 1.000000e+00 False
115 10.00 Distance_Correlation min avg 1.281072e-34 True
116 10.00 Distance_Correlation min max 1.281072e-34 True
114 10.00 Distance_Correlation min min 1.986888e-28 True
10 0.01 Mutual_Information avg avg 1.281072e-34 True
11 0.01 Mutual_Information avg max 1.281072e-34 True
9 0.01 Mutual_Information avg min 6.608099e-01 True
13 0.01 Mutual_Information max avg 1.281072e-34 True
14 0.01 Mutual_Information max max 1.281072e-34 True
12 0.01 Mutual_Information max min 1.000000e+00 False
43 0.10 Mutual_Information avg avg 1.281072e-34 True
44 0.10 Mutual_Information avg max 1.281072e-34 True
42 0.10 Mutual_Information avg min 5.176252e-01 True
46 0.10 Mutual_Information max avg 1.281072e-34 True
47 0.10 Mutual_Information max max 1.281072e-34 True
45 0.10 Mutual_Information max min 1.000000e+00 False
76 1.00 Mutual_Information avg avg 1.281072e-34 True
77 1.00 Mutual_Information avg max 1.281072e-34 True
75 1.00 Mutual_Information avg min 9.724465e-05 True
79 1.00 Mutual_Information max avg 1.281072e-34 True
80 1.00 Mutual_Information max max 1.281072e-34 True
78 1.00 Mutual_Information max min 1.000000e+00 False
109 10.00 Mutual_Information avg avg 1.281072e-34 True
110 10.00 Mutual_Information avg max 1.281072e-34 True
108 10.00 Mutual_Information avg min 5.232635e-02 True
112 10.00 Mutual_Information max avg 1.281072e-34 True
113 10.00 Mutual_Information max max 1.281072e-34 True
111 10.00 Mutual_Information max min 1.000000e+00 False
4 0.01 Pearson_Correlation_(abs) avg avg 1.281072e-34 True
5 0.01 Pearson_Correlation_(abs) avg max 1.281072e-34 True
3 0.01 Pearson_Correlation_(abs) avg min 1.000000e+00 False
7 0.01 Pearson_Correlation_(abs) max avg 1.281072e-34 True
8 0.01 Pearson_Correlation_(abs) max max 1.281072e-34 True
6 0.01 Pearson_Correlation_(abs) max min 1.000000e+00 False
1 0.01 Pearson_Correlation_(abs) min avg 1.281072e-34 True
2 0.01 Pearson_Correlation_(abs) min max 1.281072e-34 True
0 0.01 Pearson_Correlation_(abs) min min 1.221689e-23 True
37 0.10 Pearson_Correlation_(abs) avg avg 1.281072e-34 True
38 0.10 Pearson_Correlation_(abs) avg max 1.281072e-34 True
36 0.10 Pearson_Correlation_(abs) avg min 1.000000e+00 False
40 0.10 Pearson_Correlation_(abs) max avg 1.281072e-34 True
41 0.10 Pearson_Correlation_(abs) max max 1.281072e-34 True
39 0.10 Pearson_Correlation_(abs) max min 1.000000e+00 False
34 0.10 Pearson_Correlation_(abs) min avg 1.281072e-34 True
35 0.10 Pearson_Correlation_(abs) min max 1.281072e-34 True
33 0.10 Pearson_Correlation_(abs) min min 5.954546e-23 True
70 1.00 Pearson_Correlation_(abs) avg avg 1.281072e-34 True
71 1.00 Pearson_Correlation_(abs) avg max 1.281072e-34 True
69 1.00 Pearson_Correlation_(abs) avg min 1.000000e+00 False
73 1.00 Pearson_Correlation_(abs) max avg 1.281072e-34 True
74 1.00 Pearson_Correlation_(abs) max max 1.281072e-34 True
72 1.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
67 1.00 Pearson_Correlation_(abs) min avg 1.281072e-34 True
68 1.00 Pearson_Correlation_(abs) min max 1.281072e-34 True
66 1.00 Pearson_Correlation_(abs) min min 8.764220e-27 True
103 10.00 Pearson_Correlation_(abs) avg avg 1.281072e-34 True
104 10.00 Pearson_Correlation_(abs) avg max 1.281072e-34 True
102 10.00 Pearson_Correlation_(abs) avg min 1.000000e+00 False
106 10.00 Pearson_Correlation_(abs) max avg 1.963020e-13 True
107 10.00 Pearson_Correlation_(abs) max max 1.281072e-34 True
105 10.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
100 10.00 Pearson_Correlation_(abs) min avg 1.281072e-34 True
101 10.00 Pearson_Correlation_(abs) min max 1.281072e-34 True
99 10.00 Pearson_Correlation_(abs) min min 3.775798e-26 True
28 0.01 Proposed_Method avg avg 1.281072e-34 True
29 0.01 Proposed_Method avg max 1.281072e-34 True
27 0.01 Proposed_Method avg min 1.281072e-34 True
31 0.01 Proposed_Method max avg 1.281072e-34 True
32 0.01 Proposed_Method max max 1.281072e-34 True
30 0.01 Proposed_Method max min 1.281072e-34 True
25 0.01 Proposed_Method min avg 1.281072e-34 True
26 0.01 Proposed_Method min max 1.281072e-34 True
24 0.01 Proposed_Method min min 1.281072e-34 True
61 0.10 Proposed_Method avg avg 1.281072e-34 True
62 0.10 Proposed_Method avg max 1.281072e-34 True
60 0.10 Proposed_Method avg min 1.281072e-34 True
64 0.10 Proposed_Method max avg 1.281072e-34 True
65 0.10 Proposed_Method max max 1.281072e-34 True
63 0.10 Proposed_Method max min 1.281072e-34 True
58 0.10 Proposed_Method min avg 1.281072e-34 True
59 0.10 Proposed_Method min max 1.281072e-34 True
57 0.10 Proposed_Method min min 1.281072e-34 True
94 1.00 Proposed_Method avg avg 1.281072e-34 True
95 1.00 Proposed_Method avg max 1.281072e-34 True
93 1.00 Proposed_Method avg min 1.281072e-34 True
97 1.00 Proposed_Method max avg 1.281072e-34 True
98 1.00 Proposed_Method max max 1.281072e-34 True
96 1.00 Proposed_Method max min 1.281072e-34 True
91 1.00 Proposed_Method min avg 1.281072e-34 True
92 1.00 Proposed_Method min max 1.281072e-34 True
90 1.00 Proposed_Method min min 1.281072e-34 True
127 10.00 Proposed_Method avg avg 1.281072e-34 True
128 10.00 Proposed_Method avg max 1.281072e-34 True
126 10.00 Proposed_Method avg min 1.905273e-01 True
130 10.00 Proposed_Method max avg 1.281072e-34 True
131 10.00 Proposed_Method max max 1.281072e-34 True
129 10.00 Proposed_Method max min 9.985107e-01 False
124 10.00 Proposed_Method min avg 1.281072e-34 True
125 10.00 Proposed_Method min max 1.281072e-34 True
123 10.00 Proposed_Method min min 1.679508e-05 True
========================================
Mann-Whitney U test; Comparison Results - Independent vs Dependent Feature Statistics SHORT
========================================
strength_of_noise Method ind_stat dep_stat p_value dep_stat_greater_than_ind_stat
21 0.01 Distance_Correlation max min 1.000000e+00 False
54 0.10 Distance_Correlation max min 1.000000e+00 False
87 1.00 Distance_Correlation max min 1.000000e+00 False
120 10.00 Distance_Correlation max min 1.000000e+00 False
12 0.01 Mutual_Information max min 1.000000e+00 False
45 0.10 Mutual_Information max min 1.000000e+00 False
78 1.00 Mutual_Information max min 1.000000e+00 False
111 10.00 Mutual_Information max min 1.000000e+00 False
6 0.01 Pearson_Correlation_(abs) max min 1.000000e+00 False
39 0.10 Pearson_Correlation_(abs) max min 1.000000e+00 False
72 1.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
105 10.00 Pearson_Correlation_(abs) max min 1.000000e+00 False
30 0.01 Proposed_Method max min 1.281072e-34 True
63 0.10 Proposed_Method max min 1.281072e-34 True
96 1.00 Proposed_Method max min 1.281072e-34 True
129 10.00 Proposed_Method max min 9.985107e-01 False
/Users/artemlytvyn/Documents/внз/аспірантура/ii_semestr/paper/20250102/Random-Forest-Based-Method-for-Detecting-Feature-Dependencies/venv/lib/python3.9/site-packages/numpy/lib/_histograms_impl.py:895: RuntimeWarning: invalid value encountered in divide return n/db/n.sum(), bin_edges
========================================
Lognormal Test Results - Statistics and P-values
========================================
strength_of_noise Method statistic pvalue is_lognormal type
2 0.01 Distance_Correlation 0.065538 7.585469e-01 True avg_dependent
2 0.01 Distance_Correlation 0.052421 9.327870e-01 True avg_independent
2 0.01 Distance_Correlation 0.039088 9.965391e-01 True max_dependent
2 0.01 Distance_Correlation 0.075314 5.950917e-01 True max_independent
2 0.01 Distance_Correlation 0.082711 4.756441e-01 True min_dependent
2 0.01 Distance_Correlation 0.054965 9.067436e-01 True min_independent
6 0.10 Distance_Correlation 0.064476 7.755371e-01 True avg_dependent
6 0.10 Distance_Correlation 0.061038 8.280024e-01 True avg_independent
6 0.10 Distance_Correlation 0.039960 9.953674e-01 True max_dependent
6 0.10 Distance_Correlation 0.065715 7.556775e-01 True max_independent
6 0.10 Distance_Correlation 0.056485 8.890759e-01 True min_dependent
6 0.10 Distance_Correlation 0.050473 9.495662e-01 True min_independent
10 1.00 Distance_Correlation 0.056790 8.853625e-01 True avg_dependent
10 1.00 Distance_Correlation 0.065307 7.622709e-01 True avg_independent
10 1.00 Distance_Correlation 0.068758 7.055162e-01 True max_dependent
10 1.00 Distance_Correlation 0.071738 6.553421e-01 True max_independent
10 1.00 Distance_Correlation 0.063714 7.875229e-01 True min_dependent
10 1.00 Distance_Correlation 0.051839 9.380930e-01 True min_independent
14 10.00 Distance_Correlation 0.066293 7.462843e-01 True avg_dependent
14 10.00 Distance_Correlation 0.055107 9.051654e-01 True avg_independent
14 10.00 Distance_Correlation 0.052909 9.281450e-01 True max_dependent
14 10.00 Distance_Correlation 0.076775 5.707748e-01 True max_independent
14 10.00 Distance_Correlation 0.063714 7.875229e-01 True min_dependent
14 10.00 Distance_Correlation 0.041610 9.923526e-01 True min_independent
1 0.01 Mutual_Information 0.044172 9.850926e-01 True avg_dependent
1 0.01 Mutual_Information 0.080915 5.036655e-01 True avg_independent
1 0.01 Mutual_Information 0.077039 5.664026e-01 True max_dependent
1 0.01 Mutual_Information 0.077310 5.619312e-01 True max_independent
1 0.01 Mutual_Information 0.095528 9.311513e-01 True min_dependent
1 0.01 Mutual_Information NaN NaN False min_independent
5 0.10 Mutual_Information 0.056904 8.839498e-01 True avg_dependent
5 0.10 Mutual_Information 0.054575 9.110356e-01 True avg_independent
5 0.10 Mutual_Information 0.113165 1.428860e-01 True max_dependent
5 0.10 Mutual_Information 0.059618 8.482325e-01 True max_independent
5 0.10 Mutual_Information 0.121041 7.800189e-01 True min_dependent
5 0.10 Mutual_Information NaN NaN False min_independent
9 1.00 Mutual_Information 0.061681 8.185316e-01 True avg_dependent
9 1.00 Mutual_Information 0.057418 8.775112e-01 True avg_independent
9 1.00 Mutual_Information 0.064200 7.799090e-01 True max_dependent
9 1.00 Mutual_Information 0.056768 8.856303e-01 True max_independent
9 1.00 Mutual_Information 0.154200 2.019763e-01 True min_dependent
9 1.00 Mutual_Information NaN NaN False min_independent
13 10.00 Mutual_Information 0.058254 8.666963e-01 True avg_dependent
13 10.00 Mutual_Information 0.081228 4.987230e-01 True avg_independent
13 10.00 Mutual_Information 0.075665 5.892296e-01 True max_dependent
13 10.00 Mutual_Information 0.056463 8.893430e-01 True max_independent
13 10.00 Mutual_Information 0.176444 2.272757e-01 True min_dependent
13 10.00 Mutual_Information NaN NaN False min_independent
0 0.01 Pearson_Correlation_(abs) 0.073540 6.249045e-01 True avg_dependent
0 0.01 Pearson_Correlation_(abs) 0.093621 3.243191e-01 True avg_independent
0 0.01 Pearson_Correlation_(abs) 0.057479 8.767395e-01 True max_dependent
0 0.01 Pearson_Correlation_(abs) 0.053268 9.246228e-01 True max_independent
0 0.01 Pearson_Correlation_(abs) 0.108421 1.769438e-01 True min_dependent
0 0.01 Pearson_Correlation_(abs) 0.109543 1.683603e-01 True min_independent
4 0.10 Pearson_Correlation_(abs) 0.073726 6.217567e-01 True avg_dependent
4 0.10 Pearson_Correlation_(abs) 0.100709 2.455053e-01 True avg_independent
4 0.10 Pearson_Correlation_(abs) 0.058415 8.645687e-01 True max_dependent
4 0.10 Pearson_Correlation_(abs) 0.063730 7.872720e-01 True max_independent
4 0.10 Pearson_Correlation_(abs) 0.130591 6.017439e-02 True min_dependent
4 0.10 Pearson_Correlation_(abs) 0.101646 2.362478e-01 True min_independent
8 1.00 Pearson_Correlation_(abs) 0.048294 9.650119e-01 True avg_dependent
8 1.00 Pearson_Correlation_(abs) 0.084291 4.516404e-01 True avg_independent
8 1.00 Pearson_Correlation_(abs) 0.064729 7.715099e-01 True max_dependent
8 1.00 Pearson_Correlation_(abs) 0.058777 8.597350e-01 True max_independent
8 1.00 Pearson_Correlation_(abs) 0.108160 1.789944e-01 True min_dependent
8 1.00 Pearson_Correlation_(abs) 0.107342 1.855217e-01 True min_independent
12 10.00 Pearson_Correlation_(abs) 0.070876 6.698951e-01 True avg_dependent
12 10.00 Pearson_Correlation_(abs) 0.056024 8.945912e-01 True avg_independent
12 10.00 Pearson_Correlation_(abs) 0.041732 9.920829e-01 True max_dependent
12 10.00 Pearson_Correlation_(abs) 0.050229 9.514702e-01 True max_independent
12 10.00 Pearson_Correlation_(abs) 0.124665 8.188134e-02 True min_dependent
12 10.00 Pearson_Correlation_(abs) 0.088163 3.956648e-01 True min_independent
3 0.01 Proposed_Method 0.091714 3.482067e-01 True avg_dependent
3 0.01 Proposed_Method 0.102954 2.237642e-01 True avg_independent
3 0.01 Proposed_Method 0.056324 8.910205e-01 True max_dependent
3 0.01 Proposed_Method 0.099249 2.604687e-01 True max_independent
3 0.01 Proposed_Method 0.091535 3.505092e-01 True min_dependent
3 0.01 Proposed_Method 0.099964 2.530633e-01 True min_independent
7 0.10 Proposed_Method 0.099512 2.577277e-01 True avg_dependent
7 0.10 Proposed_Method 0.099603 2.567842e-01 True avg_independent
7 0.10 Proposed_Method 0.080749 5.062996e-01 True max_dependent
7 0.10 Proposed_Method 0.087622 4.032236e-01 True max_independent
7 0.10 Proposed_Method 0.078045 5.498611e-01 True min_dependent
7 0.10 Proposed_Method 0.113691 1.394556e-01 True min_independent
11 1.00 Proposed_Method 0.273826 4.066826e-07 False avg_dependent
11 1.00 Proposed_Method 0.301382 1.488902e-08 False avg_independent
11 1.00 Proposed_Method 0.280299 1.927958e-07 False max_dependent
11 1.00 Proposed_Method 0.243977 1.000312e-05 False max_independent
11 1.00 Proposed_Method 0.165560 7.287384e-03 False min_dependent
11 1.00 Proposed_Method 0.277969 2.527801e-07 False min_independent
15 10.00 Proposed_Method 0.084729 4.450968e-01 True avg_dependent
15 10.00 Proposed_Method 0.051841 9.380747e-01 True avg_independent
15 10.00 Proposed_Method 0.052218 9.346668e-01 True max_dependent
15 10.00 Proposed_Method 0.074170 6.142853e-01 True max_independent
15 10.00 Proposed_Method 0.067651 7.239578e-01 True min_dependent
15 10.00 Proposed_Method 0.078409 5.439182e-01 True min_independent
========================================
Lognormal Test Results - Shape, Loc, and Scale
========================================
strength_of_noise Method shape loc scale type
2 0.01 Distance_Correlation 0.019012 0 0.177583 avg_dependent
2 0.01 Distance_Correlation 0.028877 0 0.017405 avg_independent
2 0.01 Distance_Correlation 0.017229 0 0.499077 max_dependent
2 0.01 Distance_Correlation 0.121500 0 0.027524 max_independent
2 0.01 Distance_Correlation 0.155676 0 0.015280 min_dependent
2 0.01 Distance_Correlation 0.049364 0 0.012225 min_independent
6 0.10 Distance_Correlation 0.019211 0 0.176511 avg_dependent
6 0.10 Distance_Correlation 0.028886 0 0.017407 avg_independent
6 0.10 Distance_Correlation 0.017410 0 0.495853 max_dependent
6 0.10 Distance_Correlation 0.120556 0 0.027561 max_independent
6 0.10 Distance_Correlation 0.156683 0 0.015269 min_dependent
6 0.10 Distance_Correlation 0.051479 0 0.012215 min_independent
10 1.00 Distance_Correlation 0.023212 0 0.157678 avg_dependent
10 1.00 Distance_Correlation 0.029127 0 0.017423 avg_independent
10 1.00 Distance_Correlation 0.025033 0 0.356695 max_dependent
10 1.00 Distance_Correlation 0.115730 0 0.027764 max_independent
10 1.00 Distance_Correlation 0.211517 0 0.016987 min_dependent
10 1.00 Distance_Correlation 0.048848 0 0.012257 min_independent
14 10.00 Distance_Correlation 0.016003 0 0.170776 avg_dependent
14 10.00 Distance_Correlation 0.029389 0 0.017559 avg_independent
14 10.00 Distance_Correlation 0.008026 0 0.433466 max_dependent
14 10.00 Distance_Correlation 0.110647 0 0.027704 max_independent
14 10.00 Distance_Correlation 0.211517 0 0.016987 min_dependent
14 10.00 Distance_Correlation 0.052313 0 0.012306 min_independent
1 0.01 Mutual_Information 0.016295 0 0.559835 avg_dependent
1 0.01 Mutual_Information 0.205710 0 0.002998 avg_independent
1 0.01 Mutual_Information 0.014952 0 1.673757 max_dependent
1 0.01 Mutual_Information 0.228377 0 0.016464 max_independent
1 0.01 Mutual_Information 1.053344 0 0.002530 min_dependent
1 0.01 Mutual_Information 1.225847 0 0.000178 min_independent
5 0.10 Mutual_Information 0.026169 0 0.224528 avg_dependent
5 0.10 Mutual_Information 0.213120 0 0.003013 avg_independent
5 0.10 Mutual_Information 0.022102 0 0.667864 max_dependent
5 0.10 Mutual_Information 0.225941 0 0.016718 max_independent
5 0.10 Mutual_Information 0.932922 0 0.002671 min_dependent
5 0.10 Mutual_Information 1.211015 0 0.000173 min_independent
9 1.00 Mutual_Information 0.091349 0 0.045288 avg_dependent
9 1.00 Mutual_Information 0.209835 0 0.002992 avg_independent
9 1.00 Mutual_Information 0.080585 0 0.105384 max_dependent
9 1.00 Mutual_Information 0.225522 0 0.016397 max_independent
9 1.00 Mutual_Information 1.155722 0 0.004243 min_dependent
9 1.00 Mutual_Information 1.273906 0 0.000189 min_independent
13 10.00 Mutual_Information 0.026976 0 0.145728 avg_dependent
13 10.00 Mutual_Information 0.202697 0 0.002990 avg_independent
13 10.00 Mutual_Information 0.022356 0 0.430582 max_dependent
13 10.00 Mutual_Information 0.218646 0 0.016520 max_independent
13 10.00 Mutual_Information 1.116891 0 0.003182 min_dependent
13 10.00 Mutual_Information 1.242773 0 0.000190 min_independent
0 0.01 Pearson_Correlation_(abs) 0.028108 0 0.170985 avg_dependent
0 0.01 Pearson_Correlation_(abs) 0.121968 0 0.007906 avg_independent
0 0.01 Pearson_Correlation_(abs) 0.020241 0 0.498646 max_dependent
0 0.01 Pearson_Correlation_(abs) 0.173688 0 0.024102 max_independent
0 0.01 Pearson_Correlation_(abs) 1.608074 0 0.002072 min_dependent
0 0.01 Pearson_Correlation_(abs) 1.225847 0 0.000178 min_independent
4 0.10 Pearson_Correlation_(abs) 0.028075 0 0.170550 avg_dependent
4 0.10 Pearson_Correlation_(abs) 0.121530 0 0.007905 avg_independent
4 0.10 Pearson_Correlation_(abs) 0.020331 0 0.497416 max_dependent
4 0.10 Pearson_Correlation_(abs) 0.173204 0 0.024120 max_independent
4 0.10 Pearson_Correlation_(abs) 1.696560 0 0.001965 min_dependent
4 0.10 Pearson_Correlation_(abs) 1.211015 0 0.000173 min_independent
8 1.00 Pearson_Correlation_(abs) 0.030759 0 0.140706 avg_dependent
8 1.00 Pearson_Correlation_(abs) 0.116205 0 0.007909 avg_independent
8 1.00 Pearson_Correlation_(abs) 0.023261 0 0.407384 max_dependent
8 1.00 Pearson_Correlation_(abs) 0.167229 0 0.024207 max_independent
8 1.00 Pearson_Correlation_(abs) 1.454465 0 0.002289 min_dependent
8 1.00 Pearson_Correlation_(abs) 1.273906 0 0.000189 min_independent
12 10.00 Pearson_Correlation_(abs) 0.129498 0 0.028460 avg_dependent
12 10.00 Pearson_Correlation_(abs) 0.106247 0 0.007882 avg_independent
12 10.00 Pearson_Correlation_(abs) 0.117747 0 0.069386 max_dependent
12 10.00 Pearson_Correlation_(abs) 0.160256 0 0.023970 max_independent
12 10.00 Pearson_Correlation_(abs) 1.475132 0 0.002435 min_dependent
12 10.00 Pearson_Correlation_(abs) 1.242773 0 0.000190 min_independent
3 0.01 Proposed_Method 0.039930 0 0.136287 avg_dependent
3 0.01 Proposed_Method 0.028407 0 0.084368 avg_independent
3 0.01 Proposed_Method 0.049915 0 0.142739 max_dependent
3 0.01 Proposed_Method 0.027204 0 0.085379 max_independent
3 0.01 Proposed_Method 0.041371 0 0.130124 min_dependent
3 0.01 Proposed_Method 0.030332 0 0.083367 min_independent
7 0.10 Proposed_Method 0.040628 0 0.137476 avg_dependent
7 0.10 Proposed_Method 0.028888 0 0.083855 avg_independent
7 0.10 Proposed_Method 0.049359 0 0.144521 max_dependent
7 0.10 Proposed_Method 0.027370 0 0.084984 max_independent
7 0.10 Proposed_Method 0.047489 0 0.130156 min_dependent
7 0.10 Proposed_Method 0.031543 0 0.082752 min_independent
11 1.00 Proposed_Method 0.095483 0 0.125077 avg_dependent
11 1.00 Proposed_Method 0.063786 0 0.088823 avg_independent
11 1.00 Proposed_Method 0.134919 0 0.134522 max_dependent
11 1.00 Proposed_Method 0.048892 0 0.090934 max_independent
11 1.00 Proposed_Method 0.044990 0 0.111175 min_dependent
11 1.00 Proposed_Method 0.079098 0 0.086746 min_independent
15 10.00 Proposed_Method 0.083631 0 0.170820 avg_dependent
15 10.00 Proposed_Method 0.088315 0 0.069125 avg_independent
15 10.00 Proposed_Method 0.120971 0 0.260646 max_dependent
15 10.00 Proposed_Method 0.082548 0 0.072444 max_independent
15 10.00 Proposed_Method 0.085858 0 0.069810 min_dependent
15 10.00 Proposed_Method 0.101480 0 0.065940 min_independent
========================================
Lognormal Test Results - Confidence Intervals
========================================
strength_of_noise Method ci_lower ci_upper type
2 0.01 Distance_Correlation 0.171087 0.184325 avg_dependent
2 0.01 Distance_Correlation 0.016447 0.018418 avg_independent
2 0.01 Distance_Correlation 0.482505 0.516218 max_dependent
2 0.01 Distance_Correlation 0.021691 0.034924 max_independent
2 0.01 Distance_Correlation 0.011262 0.020731 min_dependent
2 0.01 Distance_Correlation 0.011097 0.013466 min_independent
6 0.10 Distance_Correlation 0.169988 0.183283 avg_dependent
6 0.10 Distance_Correlation 0.016449 0.018421 avg_independent
6 0.10 Distance_Correlation 0.479219 0.513064 max_dependent
6 0.10 Distance_Correlation 0.021761 0.034906 max_independent
6 0.10 Distance_Correlation 0.011232 0.020758 min_dependent
6 0.10 Distance_Correlation 0.011043 0.013512 min_independent
10 1.00 Distance_Correlation 0.150665 0.165017 avg_dependent
10 1.00 Distance_Correlation 0.016456 0.018446 avg_independent
10 1.00 Distance_Correlation 0.339616 0.374632 max_dependent
10 1.00 Distance_Correlation 0.022130 0.034833 max_independent
10 1.00 Distance_Correlation 0.011222 0.025714 min_dependent
10 1.00 Distance_Correlation 0.011138 0.013489 min_independent
14 10.00 Distance_Correlation 0.165503 0.176218 avg_dependent
14 10.00 Distance_Correlation 0.016577 0.018600 avg_independent
14 10.00 Distance_Correlation 0.426701 0.440339 max_dependent
14 10.00 Distance_Correlation 0.022303 0.034414 max_independent
14 10.00 Distance_Correlation 0.011222 0.025714 min_dependent
14 10.00 Distance_Correlation 0.011107 0.013635 min_independent
1 0.01 Mutual_Information 0.542238 0.578003 avg_dependent
1 0.01 Mutual_Information 0.002003 0.004487 avg_independent
1 0.01 Mutual_Information 1.625419 1.723533 max_dependent
1 0.01 Mutual_Information 0.010523 0.025760 max_independent
1 0.01 Mutual_Information 0.000321 0.019938 min_dependent
1 0.01 Mutual_Information 0.000000 0.000000 min_independent
5 0.10 Mutual_Information 0.213303 0.236345 avg_dependent
5 0.10 Mutual_Information 0.001984 0.004576 avg_independent
5 0.10 Mutual_Information 0.639551 0.697430 max_dependent
5 0.10 Mutual_Information 0.010736 0.026031 max_independent
5 0.10 Mutual_Information 0.000429 0.016623 min_dependent
5 0.10 Mutual_Information 0.000000 0.000000 min_independent
9 1.00 Mutual_Information 0.037864 0.054167 avg_dependent
9 1.00 Mutual_Information 0.001983 0.004514 avg_independent
9 1.00 Mutual_Information 0.089987 0.123416 max_dependent
9 1.00 Mutual_Information 0.010539 0.025511 max_independent
9 1.00 Mutual_Information 0.000440 0.040867 min_dependent
9 1.00 Mutual_Information 0.000000 0.000000 min_independent
13 10.00 Mutual_Information 0.138223 0.153640 avg_dependent
13 10.00 Mutual_Information 0.002010 0.004449 avg_independent
13 10.00 Mutual_Information 0.412122 0.449869 max_dependent
13 10.00 Mutual_Information 0.010762 0.025358 max_independent
13 10.00 Mutual_Information 0.000356 0.028402 min_dependent
13 10.00 Mutual_Information 0.000000 0.000000 min_independent
0 0.01 Pearson_Correlation_(abs) 0.161820 0.180669 avg_dependent
0 0.01 Pearson_Correlation_(abs) 0.006225 0.010041 avg_independent
0 0.01 Pearson_Correlation_(abs) 0.479251 0.518825 max_dependent
0 0.01 Pearson_Correlation_(abs) 0.017148 0.033876 max_independent
0 0.01 Pearson_Correlation_(abs) 0.000089 0.048436 min_dependent
0 0.01 Pearson_Correlation_(abs) 0.000016 0.001971 min_independent
4 0.10 Pearson_Correlation_(abs) 0.161419 0.180198 avg_dependent
4 0.10 Pearson_Correlation_(abs) 0.006230 0.010032 avg_independent
4 0.10 Pearson_Correlation_(abs) 0.477984 0.517637 max_dependent
4 0.10 Pearson_Correlation_(abs) 0.017177 0.033870 max_independent
4 0.10 Pearson_Correlation_(abs) 0.000071 0.054639 min_dependent
4 0.10 Pearson_Correlation_(abs) 0.000016 0.001856 min_independent
8 1.00 Pearson_Correlation_(abs) 0.132474 0.149450 avg_dependent
8 1.00 Pearson_Correlation_(abs) 0.006298 0.009932 avg_independent
8 1.00 Pearson_Correlation_(abs) 0.389227 0.426387 max_dependent
8 1.00 Pearson_Correlation_(abs) 0.017442 0.033595 max_independent
8 1.00 Pearson_Correlation_(abs) 0.000132 0.039604 min_dependent
8 1.00 Pearson_Correlation_(abs) 0.000016 0.002293 min_independent
12 10.00 Pearson_Correlation_(abs) 0.022081 0.036683 avg_dependent
12 10.00 Pearson_Correlation_(abs) 0.006400 0.009707 avg_independent
12 10.00 Pearson_Correlation_(abs) 0.055086 0.087397 max_dependent
12 10.00 Pearson_Correlation_(abs) 0.017509 0.032815 max_independent
12 10.00 Pearson_Correlation_(abs) 0.000135 0.043858 min_dependent
12 10.00 Pearson_Correlation_(abs) 0.000017 0.002169 min_independent
3 0.01 Proposed_Method 0.126027 0.147381 avg_dependent
3 0.01 Proposed_Method 0.079799 0.089198 avg_independent
3 0.01 Proposed_Method 0.129436 0.157409 max_dependent
3 0.01 Proposed_Method 0.080946 0.090055 max_independent
3 0.01 Proposed_Method 0.119989 0.141115 min_dependent
3 0.01 Proposed_Method 0.078556 0.088474 min_independent
7 0.10 Proposed_Method 0.126953 0.148870 avg_dependent
7 0.10 Proposed_Method 0.079239 0.088740 avg_independent
7 0.10 Proposed_Method 0.131195 0.159201 max_dependent
7 0.10 Proposed_Method 0.080545 0.089667 max_independent
7 0.10 Proposed_Method 0.118588 0.142852 min_dependent
7 0.10 Proposed_Method 0.077791 0.088030 min_independent
11 1.00 Proposed_Method 0.103729 0.150818 avg_dependent
11 1.00 Proposed_Method 0.078385 0.100652 avg_independent
11 1.00 Proposed_Method 0.103264 0.175242 max_dependent
11 1.00 Proposed_Method 0.082624 0.100079 max_independent
11 1.00 Proposed_Method 0.101792 0.121423 min_dependent
11 1.00 Proposed_Method 0.074288 0.101293 min_independent
15 10.00 Proposed_Method 0.144995 0.201245 avg_dependent
15 10.00 Proposed_Method 0.058138 0.082188 avg_independent
15 10.00 Proposed_Method 0.205627 0.330386 max_dependent
15 10.00 Proposed_Method 0.061623 0.085167 max_independent
15 10.00 Proposed_Method 0.058998 0.082604 min_dependent
15 10.00 Proposed_Method 0.054046 0.080450 min_independent
========================================
Lognormal Test Results - Confidence Intervals SHORT
========================================
strength_of_noise Method ci_lower ci_upper type
2 0.01 Distance_Correlation 0.021691 0.034924 max_independent
2 0.01 Distance_Correlation 0.011262 0.020731 min_dependent
6 0.10 Distance_Correlation 0.021761 0.034906 max_independent
6 0.10 Distance_Correlation 0.011232 0.020758 min_dependent
10 1.00 Distance_Correlation 0.022130 0.034833 max_independent
10 1.00 Distance_Correlation 0.011222 0.025714 min_dependent
14 10.00 Distance_Correlation 0.022303 0.034414 max_independent
14 10.00 Distance_Correlation 0.011222 0.025714 min_dependent
1 0.01 Mutual_Information 0.010523 0.025760 max_independent
1 0.01 Mutual_Information 0.000321 0.019938 min_dependent
5 0.10 Mutual_Information 0.010736 0.026031 max_independent
5 0.10 Mutual_Information 0.000429 0.016623 min_dependent
9 1.00 Mutual_Information 0.010539 0.025511 max_independent
9 1.00 Mutual_Information 0.000440 0.040867 min_dependent
13 10.00 Mutual_Information 0.010762 0.025358 max_independent
13 10.00 Mutual_Information 0.000356 0.028402 min_dependent
0 0.01 Pearson_Correlation_(abs) 0.017148 0.033876 max_independent
0 0.01 Pearson_Correlation_(abs) 0.000089 0.048436 min_dependent
4 0.10 Pearson_Correlation_(abs) 0.017177 0.033870 max_independent
4 0.10 Pearson_Correlation_(abs) 0.000071 0.054639 min_dependent
8 1.00 Pearson_Correlation_(abs) 0.017442 0.033595 max_independent
8 1.00 Pearson_Correlation_(abs) 0.000132 0.039604 min_dependent
12 10.00 Pearson_Correlation_(abs) 0.017509 0.032815 max_independent
12 10.00 Pearson_Correlation_(abs) 0.000135 0.043858 min_dependent
3 0.01 Proposed_Method 0.080946 0.090055 max_independent
3 0.01 Proposed_Method 0.119989 0.141115 min_dependent
7 0.10 Proposed_Method 0.080545 0.089667 max_independent
7 0.10 Proposed_Method 0.118588 0.142852 min_dependent
11 1.00 Proposed_Method 0.082624 0.100079 max_independent
11 1.00 Proposed_Method 0.101792 0.121423 min_dependent
15 10.00 Proposed_Method 0.061623 0.085167 max_independent
15 10.00 Proposed_Method 0.058998 0.082604 min_dependent